我正在学习Kafka官方教程,在multibroker部分遇到了一个奇怪的问题。
我将简要列出我所做的工作:
在端口2181上运行本地zookeeper
在港口9092,9093,9094运行三个Kafka经纪人
创建了一个包含一个分区和三个副本的主题:我的复制主题
在这个主题中产生了一些信息
然后我想测试一下Kafka的容错能力。而不是 kill -9
我使用了 ctrl-c
结束主题的开头。问题是:
我不能使用Kafka的任何信息。
怎么了?
p、 我使用的命令与上面提到的教程完全相同
Kafka1.00
--以下是一些关键输出:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: my-replicated-topic Partition: 0 Leader: 0 Replicas: 0,1,2 Isr: 1,0,2
然后我按ctrl-c终止代理0:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: my-replicated-topic Partition: 0 Leader: 1 Replicas: 0,1,2 Isr: 1,2
现在我不能从其他经纪人那里消费
bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9093 --from-beginning --topic my-replicated-topic
这是代理0的配置,其他代理的配置与此相同,只是代理id、端口和日志目录不同。
broker.id=0
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
2条答案
按热度按时间b91juud31#
通过
Ctrl+C
与杀死via相比kill -9
.kill -9
将发送SIGKILL
终止进程并且进程无法避免的信号Ctrl+C
,相当于kill -3
会发出信号SIGQUIT
,可以由进程处理,也可以忽略。guz6ccqo2#
您的offsets.topic.replication.factor=1,因此如果您用客户的偏移量终止代理,则没有其他副本,因此您没有偏移量。
在您的\uu消费者\u偏移量主题中,复制因子为1不是容错配置
您不仅需要更改此配置,还必须将现有的使用者偏移主题修改为replication factor=3