es安装(以elasticsearch-5.4.0为例)
1.节点规划
节点 | master | data | client | es-head | xpack | kibana |
---|---|---|---|---|---|---|
node1 | 是 | 是 | 否 | 是 | Text | 否 |
node2 | 是 | 是 | 否 | 否 | Text | 是 |
node3 | 是 | 是 | 否 | 否 | Text | 否 |
node4 | 否 | 是 | 否 | 否 | Text | 否 |
node5 | 否 | 是 | 否 | 否 | Text | 否 |
node6 | 否 | 是 | 是 | 否 | Text | 否 |
node7 | 否 | 是 | 是 | 否 | Text | 否 |
2.安装
????1>新建es 用户,上传elasticsearch-5.4.0.tar.gz到相应目录并解压。(由于es可接收用户的脚本并执行,从系统安全性考虑,不能使用root用户来启动es)
tar -xzvf elasticsearch-5.4.0.tar.gz
groupadd es #添加组
useradd es -g es -p es #添加用户
chomd -R es:es /user/local/elasticsearch-5.4.0 # 授权目录文件权限给es用户,如果直接是在该用户下上传文件,则无需修改文件权限
3.文件配置
cd /usr/local/elasticsearch-5.4.0/config
vi elasticsearch.yml
????cluster.name:es
????node.name:es-1921680104
????bootstrap.memory_lock:true
????bootstrap.system.call.filter:false #centos6需关掉安全机制的检测,否则会导致启动失败
????network.host:192.168.0.104 #对外ip
????http.port:9200 #端口,默认9200
????discovery.zen.ping.unicast.hosts: ["192.168.0.104", "192.168.0.106"] #发现其他主机
????discovery.zen.minimum_master_nodes: 2 #防止脑裂
????gateway.recover_after_nodes: 3 #启动3个节点之后才进行数据恢复。防止数据恢复占用大量带宽。
4.启动
????cd /usr/local/elasticsearch-5.4.0/bin
????./elasticsearch -d
5.问题
1.ERROR: bootstrap checks failed
memory locking requested for elasticsearch process but memory is not locked
解决方案:
切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
sudo vim /etc/security/limits.conf
添加如下内容:
- soft memlock unlimited
- hard memlock unlimited
备注:* 代表Linux所有用户名称
2.ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
原因:无法创建本地文件问题,用户最大可创建文件数太小
解决方案:
切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
sudo vim /etc/security/limits.conf
添加如下内容:
- soft nofile 65536
- hard nofile 131072
备注:* 代表Linux所有用户名称
3:
max number of threads [1024] for user [es] is too low, increase to at least [2048]
原因:无法创建本地线程问题,用户最大可创建线程数太小
解决方案:切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。
sudo vim /etc/security/limits.d/90-nproc.conf
找到如下内容:
- soft nproc 1024
#修改为
- soft nproc 2048
4:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因:最大虚拟内存太小
解决方案:切换到root用户下,修改配置文件sysctl.conf
sudo vim /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
es-head安装
原文地址:http://blog.51cto.com/13304593/2132305