引子
- 本文对 Elasticsearch 7.13 适用
- 正确关机是为了防止数据丢失或集群混乱(如脑裂),也可避免无意义的重新分片
- 官方文档: https://www.elastic.co/guide/...
方式一
所有 master 机器配置 recover 策略,示例如下
# 有 20 个数据节点加入集群就开始恢复分片 gateway.expected_data_nodes: 20 # 如果等待 5 分钟后加入的数据节点还没有达到 20 个 gateway.recover_after_time: 5m # 那么有 15 个数据节点加入集群就可以开始恢复分片 gateway.recover_after_data_nodes: 15
PUT _cluster/settings { "transient": { "cluster.routing.allocation.enable": "none" } }
POST _flush
- 关机
- 开机
方式二(推荐)
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "primaries"
}
}
POST _flush
停止服务,关机
sudo systemctl stop elasticsearch.service sudo init 0
开机,启动服务
sudo systemctl start elasticsearch.service
检查是否所有节点就绪了
GET _cat/nodes
- 启用 shard 分配(恢复默认)
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": null
}
}
本文出自 qbit snap
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。