centos7下安装ElasticSearch 需要先安装jdk1.8以上,jdk1.8在centos7的安装
注意:出于安全考虑,elasticsearch默认不允许以root账号运行。
创建一个用户:
useradd ping
设置密码:
passwd ping
上传安装包,并解压:
更改elasticsearch所属用户和用户组 chown -R ping:ping elasticsearch
切换用户:
su - ping
进入elasticsearch的目录
cd elasticsearch
修改配置 cd config
需要修改的配置文件有两个:elasticsearch.yml与jvm.options
- jvm.options
Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。
编辑jvm.options: vi jvm.options 内存占用太多了,我们调小一些
elasticsearch.yml 修改数据和日志目录:vi elasticsearch.yml
保存退出并创建data目录
默认只允许本机访问,修改elasticsearch.yml为0.0.0.0后则可以远程访问
并在elasticsearch.yml配置文件后面加上
http.cors.enabled: true
http.cors.allow-origin: “*”
node.master: true
node.data: true
运行
进入elasticsearch/bin目录,可以看到下面的执行文件:
然后输入命令:
./elasticsearch
发现报错了,启动失败。
错误1:文件权限不足
我们用的是ping用户,而不是root,所以文件权限不足。
错误2:线程数不够
首先用root用户登录。
然后修改配置文件:
在末端添加:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
错误3:进程虚拟内存
vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件
vi /etc/sysctl.conf
添加下面内容:
vm.max_map_count=655360
然后执行命令:
sysctl -p
切换用户来启动elasticsearch
如果还是报相同的错误:重启终端窗口
成功启动后
可以看到绑定了两个端口:
- 9300:集群节点间通讯接口
- 9200:客户端访问接口
我们在浏览器中访问:http://192.168.56.101:9200
安装ik分词器
只需要把ik分词器解压放进elasticsearch的plugins目录下即可: