系统基于centos7.x,5个节点
[root@os ~]# groupadd elastic
[root@os ~]# useradd elastic -g elastic
在/etc/sysctl.conf中添加以下三行:
vim /etc/sysctl.conf
#当内存危机时,尽量回收内存:0.尽量回收1.尽量不回收
vm.zone_reclaim_mode=0
#允许一个进程在VMAs(虚拟内存区域)拥有的最大数量
vm.max_map_count=262144
#内存交换(0-100),设置1不设置0以防止出现异常(ES推荐不要内存交换)
vm.swappiness=1
执行sysctl -p
让配置生效
vim /etc/security/limits.conf
在/etc/security/limits.conf 中添加以下四行:
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
elastic soft memlock unlimited
elastic hard memlock unlimited
[root@os ~]# vim /home/elastic/.bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_181
mv /data/software/elasticsearch-5.6.11.zip /home/elastic
[root@os ~]# cd /home/elastic
[root@os ~]# unzip elasticsearch-5.6.11.zip
[root@os ~]# chown -R elastic:elastic /home/elastic
[root@os ~]# vim /etc/profile
PATH=$PATH:$HOME/bin:/home/elastic/elasticsearch-5.6.11/bin
执行source /etc/profile让配置生效
[root@os ~]# mkdir -p /data/elasticsearch
[root@os ~]# chown -R elastic:elastic /data/elasticsearch
[root@os ~]# su - elastic
[elastic@os ~]# cd /home/elastic
准备几个目录,用于存放数据文件,日志文件
[elastic@os ~]# mkdir -p /data/elasticsearch/data
[elastic@os ~]# mkdir -p /data/elasticsearch/logs
配置参数文件,在配置前,做个备份
[elastic@os ~]# cd /home/elastic/elasticsearch-5.6.11/config
[elastic@os ~]# cp elasticsearch.yml elasticsearch.yml.bak
[elastic@os ~]# vim elasticsearch.yml
修改参数文件elasticsearch.yml
此处可以考虑设置单纯主节点,单纯数据节点,单纯客户端连接节点。通过node.master,node.data,node.ingest这三个参数配置
cluster.name: qbsoft #集群名称
node.name: qbsoft34 #节点名称
path.data: /data/elasticsearch/data #数据文件
path.logs: /data/elasticsearch/logs #日志文件
network.host: 192.168.1.34 #通讯地址
http.port: 9201 #WEB访问地址
transport.tcp.port: 9301 #后台访问地址
discovery.zen.ping_timeout: 30s #多个节点之间连接ping时长
node.master: true #是否master节点之一
node.data: true #是否数据节点之一
node.ingest: true #是否允许客户端连接
discovery.zen.ping.unicast.hosts:["192.168.1.34:9301","192.168.1.35:9301","192.168.1.36:9301","192.168.1.38:9301","192.168.1.39:9301"] #单播启用服务集群信息
master: discovery.zen.minimum_master_nodes: 2 #集群N个master节点启动后开始选举
gateway.recover_after_nodes: 2 #集群N个节点启动后开始恢复数据
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
#其他参数如下:
script.inline: on
thread_pool.index.size: 32 ##线程池数量,如果是自己虚拟机部署,此参数调小
thread_pool.index.queue_size: 1280
thread_pool.bulk.size: 32 ##线程池数量,如果是自己虚拟机部署,此参数调小
thread_pool.bulk.queue_size: 1280
action.auto_create_index : false
http.cors.enabled: true
http.cors.allow-origin: "*"
然后配置文件传到其他节点
scp -r /home/elasticsearch/elasticsearch-5.6.11/config/elasticsearch.yml [email protected]:/home/elasticsearch/elasticsearch-5.6.11/config/
scp -r /home/elasticsearch/elasticsearch-5.6.11/config/elasticsearch.yml [email protected]:/home/elasticsearch/elasticsearch-5.6.11/config/
scp -r /home/elasticsearch/elasticsearch-5.6.11/config/elasticsearch.yml [email protected]:/home/elasticsearch/elasticsearch-5.6.11/config/
scp -r /home/elasticsearch/elasticsearch-5.6.11/config/elasticsearch.yml [email protected]:/home/elasticsearch/elasticsearch-5.6.11/config/
修改各自的 node.name 和 network.host,调整部分参数
vim /home/elasticsearch/elasticsearch-5.6.11/config/elasticsearch.yml
复制ik分词
scp -r /home/elasticsearch/elasticsearch-5.6.11/plugins/ik [email protected]:/home/elasticsearch/elasticsearch-5.6.11/plugins
scp -r /home/elasticsearch/elasticsearch-5.6.11/plugins/ik [email protected]:/home/elasticsearch/elasticsearch-5.6.11/plugins
scp -r /home/elasticsearch/elasticsearch-5.6.11/plugins/ik [email protected]:/home/elasticsearch/elasticsearch-5.6.11/plugins
scp -r /home/elasticsearch/elasticsearch-5.6.11/plugins/ik [email protected]:/home/elasticsearch/elasticsearch-5.6.11/plugins
设置启动java
vim /home/elasticsearch/elasticsearch-5.6.11/bin/elasticsearch
修改JAVA启动内存(ES推荐不要堆内存不要超过32g)
vim jvm.options
-Xms31g
-Xmx31g
配置防火墙
添加(–permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=9221/tcp --permanent
firewall-cmd --zone=public --add-port=9331/tcp --permanent
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --list-ports
[elastic@os ~]# cd /home/elasticsearch/elasticsearch-5.6.11/bin
[elastic@os ~]# ./elasticsearch -d