对集群设置有点困惑:
-
Zookeeper可以通过在文件中配置myid(1,2,3 ...)并在zoo.cfg文件中具有例如zookeeper1:2888:3888,zookeeper2:2889:3889来设置为集群
-
对于Kafka,在server.properties文件中,是否必须为参数zookeeper.connect指定zookeeper服务器的完整列表,或者仅仅1就足够了?有什么不同吗?我已经看到了即使在创建主题时指定zookeeper服务器的完整列表的做法,例如/opt/kafka/bin/kafka-topics.sh --create --zookeeper x.x.x.x:2181,x.x.x.x:2181,x.x.x.x:2181 --rerelication-factor 1 --partitions 1 --topic sample_test
--- 生产环境 和DR设置( 生产环境 和博士之间的延迟很大)---
-
假设 生产环境 中有1个Kafka(kafka1)和1个zookeeper服务器(zookeeper1),DR中有1个kafka(kafka2)和1个zookeeper服务器(zookeeper2),并将这2个动物园管理员组成一个集群;
-
运行uReplicator将 生产环境 中的数据复制到DR;从uReplicator示例来看,似乎配置如下:kafka1(在 生产环境 中)连接到“zookeeper1:2181 / cluster1”,而kafka2(在DR中)连接到“zookeeper1:2181 / cluster2”,这是什么意思“/ cluster1“,”/ cluster2“?什么是这个场景的正确配置,让DR中的kafka2连接到prod中的zookeeper1是什么想法?
2 回答
最好至少放3或5.如果你只放一个,那么 Kafka 很可能不会按预期工作,或者失败 .
通常不鼓励在Kafka集群之间共享Zookeepers集群,因为Kafka对Zookeeper为大量Kafka集群施加了合理的负载 .
但是,正如你所指出的那样
这在Zookeeper中称为Chroot . 可以把它想象成Zookeeper集群中每个唯一Kafka集群的目录或命名空间 .
好吧,你不会 . 如果Kafka2有自己唯一的主题数据没有被复制到Kafka1,那么指向Zoover数据,说明Kafka2上存在的那些主题,但Kafka1只会导致混淆和错误 .
另外,我不知道uReplicator除了MirrorMaker之外是如何工作的,但你也想要为Zookeeper准备DR策略,而不仅仅是Kafka
你有两个问题 . 我会尝试至少解决第一个问题: