ES集群扩容-新增一个节点
Posted 雅冰石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES集群扩容-新增一个节点相关的知识,希望对你有一定的参考价值。
Elasticsearch群集是一组具有相同cluster.name属性的节点。当节点加入或离开集群时,集群会自动重新组织自身,以便在可用节点之间均匀分布数据。
ES可实现在线扩集群。
一 实验环境
IP | 节点名称 | 备注 | 集群名称 |
192.168.144.246 | node-1 | 集群中现有节点 | vcom |
192.168.144.247 | node-2 | ||
192.168.144.248 | node-3 | ||
192.168.144.250 | node-4 | 要新增的节点 |
二 实验步骤
这里演示添加一个ES节点到现ES集群里。
2.1 搭建ES单实例
略。
注意只需安装ES软件,但不要启动该ES节点,否则后面会因为集群uuid不一样,而导致无法将该节点加入到集群里。
2.2 配置新添加的ES节点
2.2.1 修改配置文件
2.2.1.1 添加集群名称
cd /usr/local/ElasticSearch/config
vi elasticsearch.yml
确保cluster.name名称和要加入的ES集群里的集群名称一致,这里是vcom:
cluster.name: vcom
2.2.1.2 设置自动发现
修改discovery.zen.ping.unicast.hosts,添加ES集群中其他节点的信息,修改后示例:
discovery.zen.ping.unicast.hosts: ["192.168.144.246","192.168.144.247","192.168.144.248","192.168.144.250"]
2.2.1.3 修改node.name
确保node.name不能和集群中现有节点重复。
这里将其设置为node-4:
node.name: node-4
2.2.1.4 添加密码认证相关信息
若ES集群原本就没配置密码认证,则可以跳过该步骤,否则,需要在新增节点里也添加下密码认证信息。
/*
前提准备:
#创建相关目录
cd /usr/local/ElasticSearch
mkdir config/certs
#将集群中其中一个节点上的密码认证文件拷贝到新添加服务器上
scp 192.168.144.246:/usr/local/ElasticSearch/config/certs/elastic-certificates.p12 /usr/local/ElasticSearch/config/certs/
#修改密码认证目录的属主为ES用户
chown -R EsUser:EsUser /usr/local/ElasticSearch/config/certs/
*/
#修改配置文件,添加密码认证参数
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
2.2.2 启动新添加的ES节点
systemctl start elasticsearch
确保ES端口启动:
netstat -nltp | grep 端口
2.3 验证
2.3.1 检查集群状态
curl -u elastic:密码 http://192.168.144.246:10412/_cluster/health/
{"cluster_name":"vcom","status":"green","timed_out":false,"number_of_nodes":4,"number_of_data_nodes":4,"active_primary_shards":5,"active_shards":10,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":100.0}
看到节点数量由3变为4了。
需要确保status为green。
2.3.2 在新节点上验证下是否能查询数据
2.4 配置ES集群现有节点(非必选)
为了方便从配置文件里看出该集群都有哪些节点构成,这里也修改下每个ES节点配置文件中的discovery.zen.ping.unicast.hosts,写上所有节点的ip。
2.4.1 修改配置文件
cd /usr/local/ElasticSearch/config
vi elasticsearch.yml
添加新增后节点的ip,添加后:
--本篇文章参考了
Add and remove nodes in your cluster | Elasticsearch Guide [7.15] | Elastic
以上是关于ES集群扩容-新增一个节点的主要内容,如果未能解决你的问题,请参考以下文章
ES 7.6.2集群迁移(从一套ES集群迁移数据到另一套集群)