博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kafka集群部分参数配置
阅读量:4332 次
发布时间:2019-06-06

本文共 1997 字,大约阅读时间需要 6 分钟。

Broker端参数

存储信息相关配置

1.log.dirs:指定Broker需要使用的若干个文件目录路径,无默认值

2.log.dir:单路径,对log.dirs参数的补充
生产环境只需设置log.dirs,多个路径逗号分隔,如/home/kafka1,/home/kafka2,/home/kafka3,另外最好保证这些目录挂载到不同的物理盘,这样的好处是:
提升读写性能:多块物理盘可同时读写数据
能实现故障转移(Failover):Kafka1.1版本开始,坏掉的磁盘上的数据会自动转移到其他正常的磁盘上,而且Broker还能正常工作,1.1之前任何一块磁盘坏掉,整个Broker进程就会关闭

Zookeeper相关配置

zookeepr.connect:单个Kafka集群可以配置为zk1:2181,zk2:2181,zk3:2181,多个Kafka集群使用同一套Zookeeper集群可以这样配置zk1:2181,zk2:2181,zk3:2181/kafka1和zk1:2181,zk2:2181,zk3:2181/kafka2

Broker连接相关配置

1.listeners:监听器,告诉外部连接者要通过什么协议访问指定主机名和端口开放的Kafka服务,格式是[协议名]://[主机名]:[端口], [协议名]://[主机名]:[端口],协议比如PLAINTEXT表示明文传输,SSL表示使用SSL或TLS加密传输等,也可以自定义协议名,比如CONTROLLER://localhost:9092,自定义协议还必须指定listener.security.portocol.map参数告诉底层协议

2.advertised.listeners:Broker用于对外发布的监听器

Topic管理相关配置

1.auto.create.topics.enable:是否允许自动创建Topic,建议false

2.unclean.leader.election.enable:Leader副本挂了之后,其他数据落后的副本能不能竞选Leader,建议false
3.auto.leader.rebalance.enable:是否允许Kafka定期对一些Topic分区进行Leader重选举,,建议false

数据留存相关配置

1.log.retention:控制一条消息数据被保存多长时间hour|minutes|ms,log.retention.hour=168表示默认保存7天的数据

2.log.retention.bytes:默认值-1,表示你想在这台Broker上保存多少数据都可以
3.message.max.bytes:Broker能够处理的最大消息大小,默认值1000012,建议设置大一点

Topic级别参数

Topic级别参数会覆盖全局Broker参数的值

retention.ms
retention,bytes
max.message.bytes

有两种方式设置Topic级别参数:建议第二种

创建Topic时进行设置

bin/kafka-topics.sh--bootstrap-serverlocalhost:9092--create--topictransaction--partitions1--replication-factor1--configretention.ms=15552000000--configmax.message.bytes=5242880

修改Topic时进行设置

bin/kafka-configs.sh--zookeeperlocalhost:2181--entity-typetopics--entity-nametransaction--alter--add-configmax.message.bytes=10485760

JVM参数

1.KAFKA_HEAP_OPTS:指定堆大小

2.KAFKA_JVM_PERFORMANCE_OPTS:指定GC参数
可以在启动Kafka Broker前先设置这两个环境变量

操作系统参数

1.文件描述符限制:通常设置成一个超大的值ulimit -n 1000000

2.文件系统类型:ext3/ext4/XFS/ZFS日志型文件系统的选择
3.Swappiness:建议配置成接近0的值如1
4.提交时间:向 Kafka 发送数据并不是真要等数据被写入磁盘才会认为成功,而是只要数据被写入到操作系统的页缓存(Page Cache)上就可以了,随后操作系统根据 LRU 算法会定期将页缓存上的“脏”数据落盘到物理磁盘上。这个定期就是由提交时间来确定的,默认是 5 秒,可适当加大时间

转载于:https://www.cnblogs.com/lifuwei/p/11330729.html

你可能感兴趣的文章
机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?...
查看>>
目标检测中常提到的IoU和mAP究竟是什么?
查看>>
eclipse运行mapreduce的wordcount
查看>>
linux命令帮助 man bash
查看>>
springmvc 参数解析绑定原理
查看>>
sys 模块
查看>>
Ubuntu 12.04环境下配置Postgresql和phppgadmin
查看>>
七牛云上传图片到cdn,cdn返回的是一个只有图片的url
查看>>
Good Template
查看>>
Js + echarts - Pie legend 位置调整和值添加
查看>>
常用快捷键
查看>>
php代码结尾不要添加结尾标记
查看>>
zoj1716简单的二维树状数组
查看>>
iOS synchronized的作用
查看>>
近期https://appstoreconnect.apple.com无法访问的解决办法
查看>>
SQL语句、PL/SQL块和SQL*Plus命令之间的区别
查看>>
mysql 解压版 配置
查看>>
cs231n spring 2017 Python/Numpy基础
查看>>
判断对象是否遵守某个协议、方法
查看>>
python sys模块
查看>>