• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

KafKa节点broker的参数配置

武飞扬头像
qq_38634896
帮助1

前言

KafKa节点broker的参数配置是所有kafka环境都需要配置和考虑的,无论是单机还是集群环境;有些参数是属于kafka基础的配置,在研发的过程中我们需要明确器含义;


1.broker.id

	kafka 使用唯一的整数来进行broker的标识,该参数默认值为0;若不指定,kafka将会自动指定唯一值,但是,无论我们指定什么值,都必须保证该值在kafka集群中是没有冲突的,j建议使用从0开始的的数字序列;

2.broker.dirs

	kafka保存消息的目录,必须要配置;若需要持久的消息很多,则必须确保该目录下有足够大的硬盘空间,我们可以指定多个目录,例如:/base/kafka1, /base/kafka2;这样做的好处是将消息分区数据均匀的保存在多个目录下;
	若你的机器有N个物理硬盘,那么设置N个目录(挂载在不同磁盘下的目录)将会是一个不错的选择,因为N个磁头可以同时执行写操作,极大的提升吞吐率,(“均匀”是相对于目录下的分区数来进行比较的,而不是根据实际的硬盘空间);所以我们要找一个或多个磁盘空间比较大的目录;

3.zookeeper.connect

 kafkad的重要参数,该参数必须要配置,这个参数可以是一个CSV(逗号分隔值)的列表,例如:zookeeper hostname1:2181,hostname2:2181/kafka_cluster1;建议确保有一个可用的Zookeeper单机或者集群环境,并且配置该参数对应的连接信息,另外最好配置chroot,他可以起到隔离的效果;
chroot:是Linux中的一种操作,即:change Root, 改变程序执行的时候参考的根目录位置,也是相当于一种路径映射,是可选的配置,若没有指定,泽默认使用zookeeper的根路径;

4.advertised.listeners:

   kafkad的broker 监听CSV列表,格式:【协议】://【主机名】:[端口],[协议]://[主机名]:[端口],若没有指定主机名称,则默认绑定网卡。主机名是0.0.0.0,表示可以绑定所有的网卡,另外常见的协议包括PLAINTEXT,SSL,SASL_SSL;有关listeners方面的参数,建议:PLAINTEXT://hostname:port(未启用安全认证) SSL://hostname:port(启用安全认证);

5.listeners

    发布给producer和consumer使用的监听器,通常使用laaS环境。PLAINTEXT://hostname:port(未启用安全认证) SSL://hostname:port(启用安全认证);

6.unclean.leader.election.enable:

	是否开启 unclean leader 选举,即在不同步副本集合中的副本也可以被选举成leader,默认是开启的,但是这样可能会丢失数据
建议:false —— 关闭 unclean leader 选举;    

7.delete.topic.enable:

	是否允许删除topic;建议:true 

8.log.retention.{hours|minutes|ms}:

	日志留存的时间,若同时配置,则会优先配置ms的配置,minutes次之,hours最后,kafka默认是保存七天 的数据,目前kafka优先基于消息中的时间戳来进行判断,若没有时间戳,才会根据日志文件最新的修改时间来进行比较,这是日志留存略基于时间的一组策略;

9.log.retention.bytes:

	这是日志留存策略基于文件大小的参数,kafka会定期删除那些超过该参数的日志文件,默认为-1;表示kafka永远不会根据大小来删除日志文件;

10.min.insync.replicas:

	与producer端的参数ACK配合使用,只有ack=all(或者-1)的时候才会才会有意义,他指定了必须要应答写请求的最小数量副本,如果不能被满足,producer将会抛出NotEnoughReplicas 或者 NotEnoughReplicasAfterAppend异常,该参数用于更好的实现消息持久性;若ack配置成all,则该参数设置的取值区间[1, replication.factor)。

11.num.network.threads:

	单台kafka broker 创建的用于处理网络请求的线程数量,默认是3;
	
	建议:生产环境中监控NetworkProcessorAvgIdlePercent 指标,若低于0.3,则需要调高此值;

12.num.io.threads:

	单台kafka broker 创建的用于应答网络请求的线程数量,默认是3;
	
	建议:生产环境中监控NetworkProcessorAvgIdlePercent 指标,若低于0.3,则需要调高此值;

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcgijj
系列文章
更多 icon
同类精品
更多 icon
继续加载