我使用3个服务器集群进行Kafka配置,使用Snowflake连接器REST API将数据推送到Snowflane数据库:所有3个不同的虚拟机都运行在AWS 上
1.在这种情况下,我们是否需要3个kafka单独的服务器zookeeper服务需要在集群中启动和运行,否则只有1个就足够了,就好像它需要在所有3个服务器zookeoper服务中执行一样,它是否需要不同的端口配置,例如:
1.a:zookeeper.connect=xx.xx.xxx.xxx:2181,xx.xx.xx.xxx:2182,xx.x.xx.xxx:2183否则在所有服务器的属性文件中应该是2181
1.b:服务器1中的PLAINTEXT://localhost:9091、PLAINTEXT//localhost:9092和PLAINTEXT:/localhost:9093(即使在这种情况下,它也应该是localhost-else IP地址(?
1.c:服务器.1=<zookeeper_1_IP>:2888:3888,服务器.1=<zookeeper_2_IP>:2888:3888,服务器.1=<zookeeper_3_IP>:2888:3888(在这里,每台服务器上的2888:3888都需要相同,对吗?(
1.d:Clientport=2181需要在所有3个虚拟机中的服务中保持相同,否则需要不同吗?
1.e:每台服务器上的listener=PLAINTEXT://your.host.name:9092是否应该有单独的端口VM服务器1:9092、VM服务器2:9093、VM服务器3:9094。否则,主服务器IP应在作为Server2和Server3的工作节点中给定,否则为该工作节点的自己的服务器IP
-
关于REST-API配置项的连接器的配置应该是什么;tasks.max":"1〃。正如我要为Kafka使用3个服务器集群,并将在所有3台机器上启动3分发连接器
-
我收到了重复的记录,如果我在第二台服务器上启动分布式连接器的服务,如何避免这些重复的记录。但是是的,如果只有1个分布式连接器在运行服务,那么就没有重复的连接器。请注意,如果只有1个分布式连接器服务启动并运行,则滞后会增加。
-
创建/data/zookeeper/myid文件,并为zookeeper1指定值1,为zookeper2指定值2,为zookeeper3指定值3。当你在不同的虚拟机中时,这是必要的吗?
-
分布式连接器服务曾经开始执行一段时间,然后断开
-
需要遵循的3服务器集群体系结构和最佳实践的任何其他参数
卡夫卡与动物园管理员您只需要一个Kafka代理和Zookeeper服务器,尽管拥有更多可以提供容错性。您不需要在Zookeeper中手动创建任何内容,例如myid
文件。
端口不需要相同,但绘制网络图和自动化配置显然更容易。
关于卡夫卡的听众,请阅读这篇文章。对于Zookeeper,如果您想创建集群,请遵循其文档。
或者使用亚马逊MSK/Confluent Cloud等来代替EC2,这一切都是为你完成的。
Kafka Connect
tasks.max
可以是您想要的任意数量,但如果您有源连接器,那么多个线程可能会导致重复,是的。