如何解决多个外部Zookeeper无法与Apache NIFI群集一起使用
条件1-我在Apache ECS中使用Apache NIFI集群作为docker,并在EC2实例中运行一个外部Zookeeper,一切正常。
但是我也想保持Zookeeper的高可用性
条件2-我将Apache NIFI集群用作ECS中的docker,并在不同的EC2实例中运行2个外部Zookeeper。当两个Zookeeper都启动时,一切正常,但是当我放下其中一个Zookeeper时,会出现错误对话框,提示“集群连接-该节点当前未连接到集群。此处对数据流所做的任何修改都会不能跨群集复制”。 我的期望是,当一名Zookeeper出现故障时,另一名Zookeeper应该接手,以便维持高可用性。请提出我在做什么错。 我正在为NIFI使用docker环境变量- NIFI_ZK_CONNECT_STRING = EC2实例1 IP:2181,EC2实例2 IP:2181 注意:Zookeeper在端口2181的两个EC2实例中都运行
解决方法
ZooKeeper群集需要奇数个节点,以确保可以有大多数节点可以进行权威操作。如果您添加了第三个节点,并且假定您的设置中没有其他问题,那么应该可以修复该问题。