条件1-我使用Apache NIFI集群作为ECS中的停靠器,并在EC2示例中运行一个外部Zookeeper,一切正常。
但我也希望为Zookeeper保持高可用性,因此
条件2-我使用Apache NIFI集群作为ECS中的docker,并在不同的EC2示例中运行2个外部Zookeeper。当两个Zookeeper都启动时,一切都正常,但当我关闭其中一个Zookeeper时,则会出现错误对话框,显示“群集连接-此节点当前未连接到群集。在此对数据流所做的任何修改都不会在群集中复制”。我的期望是,当一个Zookeeper出现故障时,另一个Zookeeper应该接管,以便保持高可用性。请指出我做错了什么。我正在使用NIFI的docker环境变量为- NIFI_ZK_CONNECT_STRING = EC2 instance-1 IP:2181,EC2 instance-2 IP:2181注意:Zookeeper在端口2181的两个EC2示例中运行
1条答案
按热度按时间sh7euo9m1#
ZooKeeper群集需要奇数个节点以确保大多数节点都可以权威地运行。如果您添加第三个节点,那么在您的设置中没有其他问题的情况下,应该可以修复它。