在设置Kafka Broker集群并创建几个主题后,我们发现Kafka自动创建了以下两个主题:
这些主题的重要性和用途是什么?
我正试图找出目前的高级消费者正在努力解决的问题.我使用Kafka 0.8.2.1,在Kafka的server.properties中没有设置"offset.storage" - 我认为这意味着偏移量存储在Kafka中.(I也证实没有偏移量存储在动物园管理员通过检查ZK壳此路径:/consumers/consumer_group_name/offsets/topic_name/partition_number)
我试着听听这个__consumer_offsets话题,看看哪个消费者保存了什么价值的抵消,但它没有用......
我尝试了以下方法:
为控制台使用者创建了一个配置文件如下:
=> more kafka_offset_consumer.config
exclude.internal.topics=false
Run Code Online (Sandbox Code Playgroud)
并尝试了两个版本的控制台消费者脚本:
#1:
bin/kafka-console-consumer.sh --consumer.config kafka_offset_consumer.config --topic __consumer_offsets --zookeeper localhost:2181
#2
./bin/kafka-simple-consumer-shell.sh --topic __consumer_offsets --partition 0 --broker-list localhost:9092 --formatter "kafka.server.OffsetManager\$OffsetsMessageFormatter" --consumer.config kafka_offset_consumer.config
Run Code Online (Sandbox Code Playgroud)
两者都没有奏效 - 它只是坐在那里但不打印任何东西,即使消费者正在积极消费/节省抵消.
我错过了一些其他配置/属性吗?
谢谢!
码头
在 RHEL v6.9 上使用 Kafka v2.1.0 的Kafka 快速入门
当 Kafka 代理之一出现故障时,消费者无法接收数据。
执行步骤:
1. 启动zookeeper
2. 启动Kafka-Server0 (localhost:9092, kafkalogs1)
3. 启动Kafka-Server1 (localhost:9094, kafkalog2)
4. 创建topic "test1", num of partitions = 1, replication factor = 2
5. 为主题“test1”运行生产者
6. 运行消费者
7. 从生产者发送消息
8. 在消费者端接收消息。
以上所有步骤都没有任何问题。
当我关闭 Kafka-Server0 时,消费者停止从生产者获取数据。当我重新启动 Kafka-Server0 时,消费者开始从它停止的地方获取消息。
这些是使用的命令
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test1
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test1
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 1 --topic test1
Run Code Online (Sandbox Code Playgroud)
当我使用 --bootstrap-server 选项中指定的两个服务器运行消费者时,行为是相同的(消费者端没有收到消息)。
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092,localhost:9094 --topic test1
Run Code Online (Sandbox Code Playgroud)
知道为什么即使主题 test1 …