我正在从Kafka 0.10迁移到最新的1.0。我没有在Kafka 0.10中为这些字段设置任何值。有人可以让我知道3节点代理群集的推荐设置是什么?对于server.properties
-
offsets.topic.replication.factor
transaction.state.log.replication.factor
transaction.state.log.min.isr
如果我在单个节点kafka代理中升级到1.0后没有更改此值,则默认值为3。那么这种情况下的行为是什么?
答案 0 :(得分:5)
对于包含3个或更多代理的群集,这些设置的default values适用于大多数用例:
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=2
这些默认值提供强大的可用性和持久性保证,因为数据将跨3个代理进行复制。它们还允许1个经纪人关闭,并且仍然能够在有和没有交易的情况下生产/消费。
对于具有单个节点的群集,您无法选择,这些设置不能高于群集中的代理数量,因此必须将它们全部设置为1。 / p>
答案 1 :(得分:0)
所有这三个参数都强制实现群集高可用性以及事务和主题复制的冗余。
offsets.topic.replication.factor参数也在0.10.X.对于3节点集群,我建议保留默认值,但对于单个节点(我认为您将其用于开发和测试目的),必须将其最小化为1.
对于transaction.log参数,它们在两个版本的Kafka中并不完全相同。 See this。但是这个概念是相同的......如果你想测试和开发单节点集群,最小化默认值。否则在3节点集群上,取决于连接多少流量和消费者/生产者选择。事务日志显然可能占用大量空间,与您在群集上请求(添加消息或读取消息)的数量成比例。
See this。在0.10X kafka服务器上,当您创建主题时,此参数可选,在新版本中,可能something is changed for the 0.11在1.0X的升级说明中:“config / consumer.properties文件已更新以使用新的使用者配置属性。“