我正在浏览Kafka官方教程,在multibroker部分遇到了一个奇怪的问题。
我将简要列出我所做的工作:
然后我想测试kafka的容错能力。我使用ctrl-c
来终止主题的领导者,而不是按预期正常工作的kill-9
。问题是这样的:
我无法使用来自Kafka的任何消息。
怎么了?
附言。我使用的命令与上面提到的教程完全相同
kafka 1.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
通过Ctrl-C
退出进程与通过
kill-9
将发送SIGKILL信号,该信号将终止进程,且进程无法避免,因此,相当于kill-3的
Ctrl C
您的offsets.topic.replication。factor=1,因此如果您使用消费者的偏移量杀死代理,则没有其他副本,因此您没有偏移量。
__consumer_offsets主题上的复制因子= 1不是容错配置
您不仅需要更改此配置,而且还必须将现有的使用者偏移量主题修改为复制因子 = 3
本文向大家介绍C#和 .NET有什么区别相关面试题,主要包含被问及C#和 .NET有什么区别时的应答技巧和注意事项,需要的朋友参考一下 答:.NET一般指 .NET FrameWork框架,它是一种平台,一种技术。
本文向大家介绍Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的区别和使用详解,包括了Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的区别和使用详解的使用技巧和注意事项,需要的朋友参考一下 Ctrl+c,Ctrl+d,Ctrl+z在Linux中意义 Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. Ctrl+c是强制中断程序的执行。 Ctrl+z的是将任务中断,但
问题内容: 在我的情况下: 要么 没关系,有什么区别? 问题答案: 使用自定义类型: 使用了内置的简单类型: 使用复杂的内建类型: 最后一个有点棘手:
本文向大家介绍C和C++的区别是什么?相关面试题,主要包含被问及C和C++的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。 C中函数不能进行重载,C++函数可以重载 C++在C的基础上增添类,C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运
问题内容: 在这里,我对元素进行了设置,并为其应用了相关的CSS。 要么 现在,这里我给的,它也做同样的工作对我来说。 那么,什么是之间准确的区别 标识 和 类 ,当我应该使用 ,当我应该使用 ?我是CSS和Web设计的新手,在处理此事时有些困惑。 问题答案: 例 (请注意,CSS使用前缀 # 表示ID,使用 。 表示类。) 但是 ,HTML 5中弃用了HTML4.01标记属性。在CSS中,没有“
本文向大家介绍C#中的IEnumerable和IQueryable有什么区别?,包括了C#中的IEnumerable和IQueryable有什么区别?的使用技巧和注意事项,需要的朋友参考一下 IEnumerable存在于System.Collections命名空间中。 IQueryable存在于系统中。Linq命名空间。 IEnumerable和IQueryable都是正向收集。 IEnumera