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集群迁移数据到另一套集群)

ES 7.6.2集群迁移(从一套ES集群迁移数据到另一套集群)

ES集群7.3.2版本在线扩容Data节点

ES集群7.3.2版本在线扩容Data节点

ES集群服务器下线节点扩容后上线的流程

elasticsearch之十集群部署及分布式内部机制