如何将非单个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" : {