我们在Docker容器中使用Kafka。如果在生成或消费消息时主题不存在,我们会自动创建主题。我们想要3个主题分区,所以设置
num.partitions=3
在文件/etc/kafka/server中。Kafka容器中的属性。然而,它并没有生效。完成设置并重新启动容器后,尝试订阅或发布一些不存在的主题,这些主题将被创建,但只使用一个分区。
我们在ImageConfluentInc/cp kafka:5.1.0创建的容器和ImageConfluentInc/cp enterprise kafka:5.3.1创建的容器上尝试了这一点,行为是相同的。
我们测试了使用命令创建主题:
kafka-topics --create --topic my_topic --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3
这正确地创建了具有三个分区的主题。但是我们需要Kafka自动创建多分区主题。
什么会导致这个问题?或者如何让Kafka自动创建多分区主题?
我们没有任何动态配置。这可以通过运行以下命令进行验证:
kafka-configs --bootstrap-server kafka:9092 --entity-type brokers --entity-default --describe
kafka-configs --bootstrap-server kafka:9092 --entity-type brokers --entity-name 0 (or other ids) --describe
这些命令返回空结果。
Docker容器是短暂的,这意味着一旦您停止它们,您应用的所有更改都将丢失。
如果要覆盖默认设置,必须装载属性文件:
docker run ... -v /path/to/custom/server.properties:/etc/kafka/server.properties ...
在我们的一个基于spring boot的服务中,我们打算同时连接到两个不同的kafka集群。这些集群都有自己的引导服务器集、主题配置等。它们之间没有任何关联,就像这个问题中的情况一样。 我将有不同类型的消息从不同主题名称的每个集群中读取。可能有或可能没有多个生产者通过此服务连接到两个集群,但我们肯定每个集群至少有一个消费者。 我想知道如何在application.yml中定义属性以满足此设置,以便
我想建立一个多kafka集群,大约有3个zookeeper实例,每个集群中有3个kafka代理,每个kafka经纪人大约有5个主题和5个分区。有什么设置指南可以参考吗? PS:我可以找到带有多个Kafka代理的单个zookeeper实例的信息,但不能找到带有多个zookeeper实例的设置。
我想利用Kafka 0.11中引入的幂等生产者。根据这篇融合的博客文章,添加了一个新属性来支持这一点: 幂等性:每个分区仅一次有序语义 要启用此功能并在每个分区中准确获取一次语义,即没有重复,没有数据丢失,并且为了语义,请将生产者配置为设置“enable.idemponence=true”。 这一点既不是Spring Cloud Stream,也不是Spring Kafka文档对该属性的使用。我们
我已经在EC2实例上安装了Apache Kafka,更改了安全组,为Kafka和Zookeeper打开了端口9092和2181。我只有一个代理,一个主题,一个分区,没什么复杂的。我通过尝试当地生产者/消费者来确认Kafka作品。 在AWS安全组上,它显示: 自定义 TCP 规则 TCP 2181 0.0.0.0/0 自定义 TCP 规则 TCP 9092 0.0.0.0/0 现在我想使用我的Bro
我有一个3节点kafka集群和2个面向生产者和消费者的Kafka客户端。我已经启用了SSL认证。我想为群集启用授权。我已经在我的服务器中添加了下面的属性。 authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer 我知道是动物园管理员存储acl信息。我想知道谁可以为不同的客户端设置授权。授权是如何设置的?
我有两个vm服务器(比如S1和S2),需要在集群模式下安装kafka,其中只有一个分区和两个副本(一个是领导者本身,另一个是追随者),以确保可靠性。 从这个集群设置中获得了高层次的想法,希望确认以下策略是否正确。 首先将zookeeper设置为两个节点上的群集,以实现高可用性(HA)。如果我只在单个节点上设置zk,然后该节点关闭,则整个集群将关闭。正当在最新的Kafka版本中也必须使用zk吗?看来