由于ElasticSearch不同版本的配置有所不同,特指出本文所用版本为5.5.2.
安装配置
一、建立Linux用户【ES不允许直接使用root帐号】
1 | groupadd app |
建立用户并授权目录后使用新的用户进行后续操作。
二、下载解压并放到适当位置
解压命令:
tar -zxvf elasticsearch-5.5.2.tar.gz
三、修改配置文件
修改配置文件参数:
vim ./elasticsearch-5.5.2/config/elasticsearch.yml
1 | # 集群名称,同一集群内必须设置相同的名称 |
四、启动
使用一下命令启动,可添加参数-d后台启动:
1 | ./bin/elasticsearch [-d] |
各类报错
一、 root用户启动
报错信息:
java.lang.RuntimeException: can not run elasticsearch as root
解决方法:设置一个非root用户,用于管理elastic
二、 节点数不足
报错信息:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方法:
1
2
3
4
5$ ulimit -Hn # 查看硬限制
$ vim /etc/security/limits.conf
# 添加以下两行【elastic是用户名】:
elastic soft nofile 65536
elastic hard nofile 65536重新登录检查是否生效。
报错信息:
max number of threads [1024] for user [elastic] is too low, increase to at least [2048]
解决方法:
1
2
3
4$ vim /etc/security/limits.d/xx-nproc.conf
#【文件名会有所不同,且节点数不一定为1024,大于需求值就不需要改】
# 修改:
* soft nproc 1024 -> * soft nproc 2048报错信息:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:
1
2
3
4
5$ vim /etc/sysctl.conf
# 添加:
vm.max_map_count=655360
# 检查:
$ sysctl -p
三、 使用公网IP无法访问/无法绑定路由
原因:防火墙未开放端口
解决方法(此处举例为CentOS7):
1
2
3
4
5
6# 添加9200端口开放传输:
$ firewall-cmd --zone=public --add-port=9200/tcp --permanent
# 添加9200端口开放集群通讯:
$ firewall-cmd --zone=public --add-port=9300/tcp --permanent
# 重启防火墙:
$ firewall-cmd --reload