elasticsearch群集
状态颜色:灰色:未连接绿色:数据完整态黄色:副本不完整红色:数据分片不完整紫色:数据分片复制过程群集主机角色:主节点master:负责管理调度工作节点: 负责处理数据默认情况,所有节点都是工作节点,即主节点也处理数据
node-2
- 安装es,步骤参考第一台,注意配置文件需要修改
1. [root@node-2 ~]# rpm -ivh /media/elk-6.6/elasticsearch-6.6.0.rpm 2. [root@node-2 ~]# vim /etc/elasticsearch/elasticsearch.yml 3. node.name: node-2 4. path.data: /data/elasticsearch 5. path.logs: /var/log/elasticsearch 6. bootstrap.memory_lock: true 7. network.host: 192.168.8.2,127.0.0.1 8. http.port: 9200 9. discovery.zen.ping.unicast.hosts: ["192.168.8.1", "192.168.8.2"] #前面masterIP后面本机IP 10. discovery.zen.minimum_master_nodes: 2 #添加的值=节点数/2 + 1(注意:2前面空格)
- 创建数据目录,并修改权限
1. [root@node-2 ~]# mkdir -p /data/elasticsearch 2. [root@node-2 ~]# chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 分配锁定内存
1. [root@node-2 ~]# vim /etc/elasticsearch/jvm.options 2. -Xms1g #分配最小内存 3. -Xmx1g #分配最大内存,官方推荐为物理内存的一半,但最大为32G
- 修改锁定内存后,无法重启,解决方法如下
1. [root@node-2 ~]# systemctl edit elasticsearch 2. [Service] 3. LimitMEMLOCK=infinity 4. F2保存退出 5. 6. [root@node-2 ~]# systemctl daemon-reload 7. [root@node-2 ~]# systemctl restart elasticsearch 8. [root@node-2 ~]# netstat -anpt | grep 9200 9. tcp6 0 0 192.168.8.2:9200 :::* LISTEN 105374/java 10. tcp6 0 0 127.0.0.1:9200 :::* LISTEN 105374/java
node-3
- 安装es,步骤参考第一台,注意配置文件需要修改
1. [root@node-3 ~]# rpm -ivh /media/elk-6.6/elasticsearch-6.6.0.rpm 2. [root@node-3 ~]# vim /etc/elasticsearch/elasticsearch.yml 3. node.name: node-3 4. path.data: /data/elasticsearch 5. path.logs: /var/log/elasticsearch 6. bootstrap.memory_lock: true 7. network.host: 192.168.8.3,127.0.0.1 8. http.port: 9200 9. discovery.zen.ping.unicast.hosts: ["192.168.8.1", "192.168.8.3"] #前面masterIP后面本机IP 10. discovery.zen.minimum_master_nodes: 2 #添加的值=节点数/2 + 1(注意:2前面空格)
- 创建数据目录,并修改权限
1. [root@node-3 ~]# mkdir -p /data/elasticsearch 2. [root@node-3 ~]# chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 分配锁定内存
1. [root@node-3 ~]# vim /etc/elasticsearch/jvm.options 2. -Xms1g #分配最小内存 3. -Xmx1g #分配最大内存,官方推荐为物理内存的一半,但最大为32G
- 修改锁定内存后,无法重启,解决方法如下
1. [root@node-3 ~]# systemctl edit elasticsearch 2. [Service] 3. LimitMEMLOCK=infinity 4. F2保存退出 5. [root@node-3 ~]# netstat -anpt | grep 9200 6. tcp6 0 0 192.168.8.3:9200 :::* LISTEN 105486/java 7. tcp6 0 0 127.0.0.1:9200 :::* LISTEN 105486/java
下图可以看到三个副本,分片处理,星号代表主节点,园代表从节点,健康状态为green。
监控命令
(1)查看索引信息
[root@node-1 ~]# curl -XGET '192.168.8.1:9200/_cat/indices?pretty'
(2)查看群集健康状态
[root@node-1 ~]# curl -XGET '192.168.8.1:9200/_cluster/health?pretty'
(3)统计群集节点
[root@node-1 ~]# curl -XGET '192.168.8.1:9200/_cat/nodes?human&pretty'
(4)查看群集所有节点详细信息
[root@node-1 ~]# curl -XGET '192.168.8.1:9200/_nodes/_all/info/jvm.process?human&pretty'
注意:企业环境使用脚本监控群集健康状态是否为green 或 节点数不匹配 就邮件报警。
(5)创建索引index1时,修改分片为3和副本数为2。
1. curl -X PUT 192.168.8.1:9200/index1 -H 'Content-Type: application/json' -d '{ 2. "settings" : { 3. "index" : { 4. "number_of_shards" : 3, 5. "number_of_replicas" : 2 6. } 7. } 8. }'
访问浏览器确认
(6)针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1
1. curl -X PUT '192.168.8.1:9200/index1/_settings?pretty' -H 'Content-Type: application/json' -d '{ 2. "settings": { 3. "number_of_replicas": "1" 4. } 5. }'
访问浏览器验证。