重启NiFi节点作为新节点加入集群

Restarting NiFi Node Joins Cluster as New Node

我目前 运行 Apache NiFi 作为 Kubernetes 上的 StatefulSet。我正在测试如果我杀死一个 pod 集群如何恢复,但当 pod(NiFi 节点)重新加入集群时遇到问题。

该节点将作为附加 节点重新加入,而不是显示为它的原始身份。例如,如果我有一个 3 节点的 NiFi 集群并终止并重新启动一个 pod/NiFi 节点,我最终将得到一个 4 节点的集群,其中一个断开连接。

之前:

之后:

我相信 NiFi 节点在配置文件中以某种方式被识别,当它被杀死时不会持续存在。到目前为止,我正在使用持久卷来保存以下配置文件:

我没有坚持nifi.properties(是启动时动态生成的a 我在那里看不到任何可以唯一标识该节点的内容)。

所以我想,问题是节点是如何唯一标识给服务器的,它存储在哪里?

编辑:我正在使用外部 Zookeeper。

提前谢谢你,

哈利

每个节点都将集群的状态存储在本地状态管理器中,默认情况下会写入 nifi-home/state/local 中的预写日志。您很可能正在重新启动的节点上丢失 state/local 目录。