kafka 配置参数

一、Broker 端参数

1:Broker是需要配置存储信息的,即Broker使用哪些磁盘,针对存储信息的参数如下:

log.dirs:指定Broker需要使用的若干个文件目录,这个参数没有默认值,这个需要自己指定。

log.dir:他是上一个参数的补充。所以只用设置log.dirs即可。

2:一般线上的生产环境中都会给log.dirs指定多个路径,例如:/opt/kafka1,/opt/kafka2,/opt/kafka3,如果条件允许,最好保证这些目录都挂载到了不同的磁盘上。这样做有两个好处:

第一:实现故障转移,就是坏掉的磁盘上的数据,会自动的转移到其他磁盘上,之前1.1版本之前,只要Broker的任意一个磁盘坏掉,整个Broker进程都会被关闭。

第二:多块物理磁盘同时读写的吞吐量要比单块磁盘高。

二、zookeeper的参数配置

1、zookeeper.connect 可以配置成node1:2181,node2:2181,node3:2181;

2、要是多个kafka集群同时使用一个ZK集群,此时需要使用zk概念中的chroot,可以理解成别名。两个kafka集群分别为:kafkaA,kafkaB,那么zookeeper.connect参数配置成:node1:2181,node2:2181,node3:2181/kafkaA和node1:2181,node2:2181,node3:2181/kafkaB。

三、关于topic的参数

1、auto.create.topics.enable:是否自动允许创建topic。建议使用false,不允许自动创建topic,防止线上环境里面有很多稀奇古怪的topic。

2、unclean.leader.election.enable:是否允许Unclear Leader选举。kafka中的多副本提供高可用,但是只有leader副本只对外提供服务,follower不对外提供服务,这些副本中只有数据保存比较完整比较多的才有资格竞选leader副本,加入保存数据比较多的副本挂掉了,那么还要不要进行Leader选举了?此时该参数就派上用场了,false:坚决不选取哪些落后太多的副本成为leader,这样的后果可能这个分区的数据就不可用了,因为没有leader了;true:允许在比较落后的副本中选一个leader,但是这样有可能导致数据丢失,因为这个副本中保存的数据本来就不全。建议一般生产中使用false吧。

3、auto.leader.rebalance.enable:是否允许定期进行leader选举。**true:**允许kafka定期的进行topic的服务leader选举,当然这个选举并不是无脑的进行,在一定的条件下才会执行。但是确切的说不是选举leader,而是换leader,加入leaderA一直OK,在true的情况下有可能会被强制换成leaderB。换一个leader的代价是很高的。建议生产环境中将该参数设置为false。

国内最大最权威的 Kafka中文社区 ,在这里你可以结交各大互联网Kafka大佬以及近2000+Kafka爱好者,一起实现知识共享,实时掌控最新行业资讯,免费加入中~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值