Elasticsearch群集是一组具有相同cluster.name属性的节点。当节点加入或离开集群时,集群会自动重新组织自身,以便在可用节点之间均匀分布数据。

ES可实现在线扩集群。

一 实验环境

二 实验步骤

这里演示添加一个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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐