如何将非单个elasticsearch集群节点变为单个集群节点?
How to make a non single elasticsearch cluster node to a single cluster node?
我有三节点的elasticsearch集群,然后我删除了两个节点,最后一个节点只能搜索,但不能很好地工作,因为它不能成功选举。
我试过重新启动它,并在重新启动前删除了与集群相关的配置,但它不起作用。
如何将其作为单个集群节点?
当我将节点设为单节点时。然后我访问节点,它会显示下面的信息,这意味着这个节点的状态不正常。
$ curl localhost:8200/song/_search
{"error":{"root_cause":[{"type":"cluster_block_exception","reason":"blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];"}],"type":"cluster_block_exception","reason":"blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];"},"status":503}
然后我检查elasticsearch的数据目录如下
$ ls data/nodes/0/
indices node.lock snapshot_cache _state
然后我删除除保存数据的索引目录之外的所有其他文件或目录。
还有一点,你还需要编辑elasticsearch配置文件,去掉集群相关的配置。
然后重启节点检查一下
$ curl localhost:8200/_cat/nodes
127.0.0.1 39 45 1 0.00 0.11 0.18 cdfhilmrstw * node-249-dev
$ curl localhost:8200/song/_search?pretty
{
"took" : 11,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
我有三节点的elasticsearch集群,然后我删除了两个节点,最后一个节点只能搜索,但不能很好地工作,因为它不能成功选举。
我试过重新启动它,并在重新启动前删除了与集群相关的配置,但它不起作用。
如何将其作为单个集群节点?
当我将节点设为单节点时。然后我访问节点,它会显示下面的信息,这意味着这个节点的状态不正常。
$ curl localhost:8200/song/_search
{"error":{"root_cause":[{"type":"cluster_block_exception","reason":"blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];"}],"type":"cluster_block_exception","reason":"blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];"},"status":503}
然后我检查elasticsearch的数据目录如下
$ ls data/nodes/0/
indices node.lock snapshot_cache _state
然后我删除除保存数据的索引目录之外的所有其他文件或目录。
还有一点,你还需要编辑elasticsearch配置文件,去掉集群相关的配置。
然后重启节点检查一下
$ curl localhost:8200/_cat/nodes
127.0.0.1 39 45 1 0.00 0.11 0.18 cdfhilmrstw * node-249-dev
$ curl localhost:8200/song/_search?pretty
{
"took" : 11,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {