Elasticsearch8节点加入集群失败解决方法

一、问题:

failed to join {cluster-master2}{DDB9zVg8SQ24a0jD7lno2w}{gLNn_SCQTIely-VWU0yOHA}{poc-cluster-master2}…………

二、原因:

在日志里面可以看到,是因为节点之前使用一个UUID加入了集群,现在使用一个新的UUID加入新的集群,这是不允许的。

在 Elasticsearch 集群中,每个节点都有一个唯一的节点标识符,通常被称为节点的 UUID(Universally Unique Identifier)。这个 UUID 是在每个节点首次启动时生成的,用于唯一标识节点。

有关 Elasticsearch 节点 UUID 的一些详细说明:

  1. 生成方式: 节点 UUID 是通过使用 UUID 算法生成的,确保在大多数情况下是唯一的。这个过程在节点首次启动时发生,而不同节点的 UUID 是独立生成的。

  2. 存储位置: 节点的 UUID 信息通常存储在节点的数据目录下的 nodes 子目录中。每个节点的信息都保存在一个独立的文件中。

  3. 用途: 节点 UUID 在集群中的主要用途是标识节点。在集群中,节点使用彼此的 UUID 进行通信和识别。这对于集群中的节点发现、数据交换和协调是至关重要的。

  4. 集群配置: 配置 Elasticsearch 集群时,可以在每个节点的配置文件中找到节点的 UUID。这对于检查集群中的节点是否正确配置和连接很有帮助。

  5. 可靠性: 节点 UUID 的生成是基于节点的环境和配置的,因此它对于节点的可靠性是固定的。即使节点在重新启动后获得了新的进程 ID,UUID 也应该保持不变,因为它是在节点启动时生成的。

报错日志:

 This node previously joined a cluster with UUID [4IC5KYmzSPil71vnH90zZQ] and is now trying to join a different cluster with UUID [2COysP_STly-gNi86W1RJQ]. This is forbidden and usually indicates an incorrect discovery or cluster bootstrapping configuration. Note that the cluster UUID persists across restarts and can only be changed by deleting the contents of the node's data path [/mnt/data] which will also remove any data held by this node.

三、解决方法:

日志里面也已经说了,删除节点数据目录下的内容就可以。

方法①:删除该节点data目录下的内容,重新启动ES。

方法②:在/usr/local/elasticsearch-8.10.2目录下执行命令

./bin/elasticsearch-node detach-cluster

将节点从之前的集群中分离出来。

Elasticsearch的bin目录下有一个可执行文件:elasticsearch-node,包含了管理Elasticsearch 节点所需的命令和参数。其中,detach-cluster 这个命令可以将节点从集群中分离出来,加入一个新的集群。

Elasticsearch8节点加入集群失败解决方法_第1张图片

elasticsearch-node使用说明:

Elasticsearch8节点加入集群失败解决方法_第2张图片

你可能感兴趣的:(Elasticsearch,elasticsearch,大数据,搜索引擎)