前置条件:
1.保证当前机器能ping通要加入的集群的节点
2.保证当前机器的es使用的端口未添加防火墙,默认为9200,9300
说明:
集群添加节点不会影响线上已经上线的程序中配置的节点信息,例如
程序中配置的为a、b、c节点,要上线的节点为d、e,当上线节点时,不会影响程序使用
扩充节点:
1.设置es堆大小,(es默认堆大小为1g,需要设置为机器内存的一半,但一般不超过32g),例如机器为内存16g的话配置如下:
export ES_HEAP_SIZE=8g
或者
./bin/elasticsearch -Xmx8g -Xms8g
2.配置es yml文件
将集群名称配置为要加入的集群名称
将节点名称配置为跟当前集群已有节点不重复的名称
配置discovery.zen.ping.unicast.hosts为所有集群节点(包括即将加入的节点)
3.设置集群数据排除节点
访问集群 */_settings接口,put请求参数为
{
"index.routing.allocation.exclude.name": "node209,node210"
}
例如:排除node210,209节点,其中name为yml中配置的node.name,也可以根据集群中配置的其他node标签来排除:
4.启动增的节点,启动后节点不会被分配数据
5.取消排除,如第三步中,将参数设置如下
{
"index.routing.allocation.exclude.name": ""
}
集群会自动向结点分配数据
6.等待节点分配数据完成,整个扩充节点行为完成
以上内容为同事整理的,记录一下!!!