假设我在集群中有5个节点,我必须在运行时删除2个节点.那么如何在不影响指数的情况下完成?
我有接近10 Gbphour的连续数据流,这些数据将被连续索引.
重新平衡会对此有所帮助吗?提前致谢
tow*_*owr 120
您可以通过告知群集将其从分配中排除来停用节点.(来自此处的文档)
curl -XPUT localhost:9200/_cluster/settings -H 'Content-Type: application/json' -d '{
"transient" :{
"cluster.routing.allocation.exclude._ip" : "10.0.0.1"
}
}';echo
Run Code Online (Sandbox Code Playgroud)
这将导致Elasticsearch将该节点上的分片分配给其余节点,而不会将群集状态更改为黄色或红色(即使您具有复制0).
重新分配所有分片后,您可以关闭节点并执行您需要执行的任何操作.完成后,包括要分配的节点,Elasticsearch将再次重新平衡分片.
要从群集中删除elasticsearch节点,只需运行以下命令
curl -XPUT P.P.P.P:9200/_cluster/settings -H 'Content-Type: application/json' -d '{
"transient" :{
"cluster.routing.allocation.exclude._ip" : "X.X.X.X"
}
}';echo
Run Code Online (Sandbox Code Playgroud)
这P.P.P.P是主节点的私有IP,您也可以使用localhostif elasticsearch运行localhost.X.X.X.X是要从群集中删除的节点的专用IP.
acknowledgement true如果接受节点被删除并且数据重定位将开始,则此命令将给出.检查数据重定位是否结束,节点上是否还有任何分片,而不是停止elasticsearch进程和stop/terminate实例.可以在本文中找到检查数据重定位和分片的命令.
| 归档时间: |
|
| 查看次数: |
53351 次 |
| 最近记录: |