我刚接触Kafka,我想问一个问题。
如果有3个kafka代理(kafka1、kafka2、kafka3)(它们在同一个Kafka集群中)并且topic = test(replication = 2)Kafka 1有领导者分区,kafka2有追随者分区。
如果producer向kafka3发送数据,那么kafka1和Kafka2中的数据是如何存储的?
我听说,如果生产者向kafka3发送数据,那么动物园管理员会找到拥有领导者分区的经纪人,并返回经纪人的dns或IP地址。然后,生产者会重新发送元数据给经纪人。
对吗?或者如果是错误的,请告诉我它是如何工作的。
谢谢!
每个 kafka 主题分区都有自己的领导者。所以如果你有 2 个分区,kafka 会为每个分区分配领导者。它们最终可能是相同的 kafka 节点,也可能是不同的。
当生产者连接到kafka集群时,它会了解分区负责人。所有写入都必须通过相应的分区负责人,该负责人负责跟踪同步副本。
所有使用者只与相应的分区领导者通信以获取数据。
如果分区领导者失败,其中一个副本将成为领导者,所有生产者和消费者都将收到此更改的通知
我是Kafka的新手,动物园管理员和Storm。我我们的环境,我们有一个Kafka代理连接到多个动物园管理员。让生产者将消息发送到特定主题并在一个代理上将分区到多个动物园管理员与多个代理分配给多个动物园管理员相比是否有优势?
注意:这将只显示有关使用Java消费者API的消费者(非基于ZooKeeper的消费者)的信息。 此工具还适用于基于ZooKeeper的使用者: bin/kafka-consumer-groups.sh--zookeeper localhost:2181--description--group my-group null PS:这似乎没有出现在2.5文档中
分布式 Apache HBase 安装依赖于正在运行的 ZooKeeper 集群。所有参与节点和客户端都需要能够访问正在运行的 ZooKeeper 集合。 Apache HBase 默认为您管理 ZooKeeper“集群”。它将启动和停止 ZooKeeper 集合作为 HBase 启动/停止过程的一部分。您还可以独立于 HBase 管理 ZooKeeper 集合,只需将 HBase 指向它应该使用
假设我有 3 台 Kafka 服务器。服务器 1 zoopkeeper1 服务器 2 zoopkeeper2 服务器 3 zoopkeeper3 在集群配置中,zoopkeepers 会发生什么?它们是为每个服务器单独维护的,还是会在群集配置中同步其数据?
在Zookeeper和代理身份验证上启用SASL时,我面临以下错误。 以下配置在JAAS文件中给出,该文件作为KAFKA_OPTS传递,将其作为JVM参数:- Kafka经纪人的服务器。属性设置了以下额外字段:- Zookeeper属性如下所示:
我已经设置了一个带有SASL SCRAM安全性的Kafka集群,它运行良好。 根据文档,我使用了命令< code>kafka-configs.sh来创建用户名和密码,并授予该用户对主题的访问权限。 这也很棒。 但是, 命令本身不需要任何类型的身份验证,因此在我看来,任何人都可以运行该命令并在Kafka中创建自己的用户并授予自己的权限。 也许我需要在Zookeeper上启用SASL安全性?但我找不到
我正在使用zooKeeper编写一个领导者选举算法。我能够编写领导者选举部分。但我需要所有的节点,在一个路径中,接收节点添加/删除的事件,到那个特定的路径。 举个例子,假设我有几个节点在<代码>/选举 中。当其他一些节点被添加到相同的路径中,或者从路径中删除时,我需要接收到该路径中所有现有节点的此事件。我能够观看单个节点。但是如何观看路径中的所有节点。 此外,我还需要接收所有节点的领导者更改事件。
为什么在kafka-consumer中不推荐使用zookeeper,为什么推荐使用bootstrap服务器?引导服务器的优势是什么?