我目前正在Kubernetes上将Apache NiFi作为StatefulSet运行。我正在测试以查看如果我杀死一个Pod,但Pod(NiFi节点)重新加入集群时遇到的问题,群集如何恢复。
该节点将作为一个 additional 节点重新加入,而不是以其原始身份出现。例如,如果我有一个3节点的NiFi群集并杀死并重新启动一个Pod / NiFi节点,我最终将得到一个4节点的群集,其中一个已断开连接。
之前:
之后:
我相信NiFi节点是在配置文件中以某种方式标识的,该配置文件在被杀死时不会持久存在。到目前为止,我正在使用持久卷来持久存储以下配置文件:
我没有持久化nifi.properties(它是在启动时动态生成的 而且我看不到任何可以唯一标识该节点的东西。
所以我想,问题是如何在服务器上唯一标识节点以及将节点存储在哪里?
编辑:我正在使用外部Zookeeper。
先谢谢您
哈里
答案 0 :(得分:1)
每个节点将群集的状态存储在本地状态管理器中,默认情况下,该状态将被写入nifi-home / state / local中的预写日志。您很有可能会丢失正在重新启动的节点上的状态/本地目录。