kafka 1.0 中文文档(三)--Broker的配置

本文档主要介绍了Kafka 1.0版本中Broker的基本配置,包括broker.id、log.dirs和zookeeper.connect等关键参数。通过详细探讨这些配置项,帮助读者更好地理解和配置Kafka Broker。
摘要由CSDN通过智能技术生成

3.1 Broker Configs

基本配置如下:
   1. broker.id
   2. log.dirs
   3. zookeeper.connect

下面将更详细地讨论主题级别的配置和默认设置。

名称 描述 类型 默认 重要性
zookeeper.connect Zookeeper 主机地址 string high
advertised.host.name DEPRECATED:仅在未设置“advertised.listeners”或“listeners”时使用。用advertised.listeners替换。 主机名发布到ZooKeeper供客户使用,会分发给所有的producer,consumer和其他broker来连接自己。。 在IaaS环境中,这可能需要与代理绑定的接口不同。 如果未设置,则将使用“host.name”的值(如果已配置)。 否则,它将使用从java.net.InetAddress.getCanonicalHostName()返回的值。 string null high
advertised.listeners 监听器发布到ZooKeeper供客户使用,如果与上面的监听器不同。 在IaaS环境中,这可能需要与代理绑定的接口不同。 如果没有设置,将使用listeners的值。 string null high
advertised.port DEPRECATED:仅在未设置“advertised.listeners”或“listeners”时使用。 改用advertised.listeners替代。 发布到ZooKeeper供客户端使用的端口。 在IaaS环境中,这可能需要与代理绑定的端口不同。 如果没有设置,它将使用broker绑定的相同端口。 int null high
auto.create.topics.enable 是否允许自动创建topic。如果设为true,那么produce,consume或者fetch metadata一个不存在的topic时,就会自动创建一个默认replication factor和partition number的topic。 boolean true high
auto.leader.rebalance.enable 如果设为true,复制控制器会周期性的自动尝试,为所有的broker的每个partition平衡leadership,为更优先(preferred)的replica分配leadership。 boolean true high
background.threads 一些后台任务处理的线程数,例如过期消息文件的删除等,一般情况下不需要去做修改 int 10 high
broker.id 每一个broker在集群中的唯一表示,要求是正数。当该服务器的IP地址发生改变时,broker.id没有变化,则不会影响consumers的消息情况。如果未设置,则会生成唯一的代理标识。为避免zookeeper生成的代理标识与用户配置的代理标识之间的冲突,生成的代理标识从reserved.broker.max.id + 1开始。 int -1 high
compression.type 为主题指定一个压缩类型,此配置接受标准压缩编码(’gzip’, ‘snappy’, lz4),另外接受’uncompressed‘相当于不压缩, ‘producer’ 意味着压缩类型由producer指定。 string producer high
delete.topic.enable 启用删除主题。 如果此配置已关闭,则通过管理工具删除主题将不起作用。删除topic是影响注册在/admin/delete_topics的监听 boolean false high
host.name DEPRECATED:仅在未设置“listeners”时使用。 使用listeners来代替。 broker的主机名。 如果这个设置,它只会绑定到这个地址。 如果没有设置,它将绑定到所有interface。并将其中之一发送到ZK,但是发送到zk的不一定是正确的地址,导致消费端消费不到消息,所以这里必须要设置 String “” High
leader.imbalance.check.interval.seconds 分区rebalance检查的频率,由控制器触发 long 300 high
leader.imbalance.per.broker.percentage 每个broker允许的不平衡的leader的百分比。如果每个broker超过了这个百分比,复制控制器会对分区进行重新的平衡。该值以百分比形式指定。 int 10 high
listeners 监听器列表 - 逗号分隔的我们将监听的URI列表和监听器名称。 如果侦听器名称不是安全协议,则还必须设置listener.security.protocol.map。 指定主机名为0.0.0.0以绑定到所有接口。 保留主机名为空以绑定到默认接口。 合法侦听器列表的示例:PLAINTEXT:// myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION:// localhost:9093 string null high
log.dir 保存日志数据的目录(对log.dirs属性的补充) string /tmp/kafka-logs high
log.dirs 一个用逗号分隔的目录列表,可以有多个,用来为Kafka存储数据。每当需要为一个新的分区分配一个目录时,会选择当前的存储分区最少的目录来存储。如果没有配置,则使用log.dir配置的值。 string null high
log.flush.interval.messages 在将消息刷新到磁盘之前,在日志分区上累积的消息数量。强制fsync一个分区的log文件之前暂存的消息数量。因为磁盘IO操作是一个慢操作,但又是一个“数据可靠性”的必要手段,所以检查是否需要固化到硬盘的时间间隔。需要在“数据可靠性”与“性能”之间做必要的权衡,如果此值过大,将会导致每次“fsync”的时间过长(IO阻塞),如果此值过小,将会导致”fsync“的次数较多,这也就意味着整体的client请求有一定的延迟,物理server故障
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值