kafka_zookeeper_配置文件配置
broker.id=
0
num.network.threads=
2
num.io.threads=
8
socket.send.buffer.bytes=
1048576
socket.receive.buffer.bytes=
1048576
socket.request.max.bytes=
104857600
log.dirs=/tmp/kafka-logs
num.partitions=
2
log.retention.hours=
168
log.segment.bytes=
536870912
log.retention.check.interval.ms=
60000
log.cleaner.enable=
false
zookeeper.connect=localhost:
2181
zookeeper.connection.timeout.ms=
1000000
参数
说明(解释)
broker.id =
0
每一个broker在集群中的唯一表示,要求是正数。当该服务器的IP地址发生改变时,broker.id没有变化,则不会影响consumers的消息情况
log.dirs=/data/kafka-logs
kafka数据的存放地址,多个地址的话用逗号分割 /data/kafka-logs-
1
,/data/kafka-logs-
2
port =
9092
broker server服务端口
message.max.bytes =
6525000
表示消息体的最大大小,单位是字节
num.network.threads =
4
broker处理消息的最大线程数,一般情况下不需要去修改
num.io.threads =
8
broker处理磁盘IO的线程数,数值应该大于你的硬盘数
background.threads =
4
一些后台任务处理的线程数,例如过期消息文件的删除等,一般情况下不需要去做修改
queued.max.requests =
500
等待IO线程处理的请求队列最大数,若是等待IO的请求超过这个数值,那么会停止接受外部消息,应该是一种自我保护机制。
host.name
broker的主机地址,若是设置了,那么会绑定到这个地址上,若是没有,会绑定到所有的接口上,并将其中之一发送到ZK,一般不设置
socket.send.buffer.bytes=
100
*
1024
socket的发送缓冲区,socket的调优参数SO_SNDBUFF
socket.receive.buffer.bytes =
100
*
1024
socket的接受缓冲区,socket的调优参数SO_RCVBUFF
socket.request.max.bytes =
100
*
1024
*
1024
socket请求的最大数值,防止serverOOM,message.max.bytes必然要小于socket.request.max.bytes,会被topic创建时的指定参数覆盖
log.segment.bytes =
1024
*
1024
*
1024
topic的分区是以一堆segment文件存储的,这个控制每个segment的大小,会被topic创建时的指定参数覆盖
log.roll.hours =
24
*
7
这个参数会在日志segment没有达到log.segment.bytes设置的大小,也会强制新建一个segment会被 topic创建时的指定参数覆盖
log.cleanup.policy = delete
日志清理策略选择有:delete和compact主要针对过期数据的处理,或是日志文件达到限制的额度,会被 topic创建时的指定参数覆盖
log.retention.minutes=3days
数据存储的最大时间超过这个时间会根据log.cleanup.policy设置的策略处理数据,也就是消费端能够多久去消费数据
log.retention.bytes和log.retention.minutes任意一个达到要求,都会执行删除,会被topic创建时的指定参数覆盖
log.retention.bytes=-
1
topic每个分区的最大文件大小,一个topic的大小限制 = 分区数*log.retention.bytes。-
1
没有大小限log.retention.bytes和log.retention.minutes任意一个达到要求,都会执行删除,会被topic创建时的指定参数覆盖
log.retention.check.interval.ms=5minutes
文件大小检查的周期时间,是否处罚 log.cleanup.policy中设置的策略
log.cleaner.enable=
false
是否开启日志压缩
log.cleaner.threads =
2
日志压缩运行的线程数
log.cleaner.io.max.bytes.per.second=None
日志压缩时候处理的最大大小
log.cleaner.dedupe.buffer.size=
500
*
1024
*
1024
日志压缩去重时候的缓存空间,在空间允许的情况下,越大越好
log.cleaner.io.buffer.size=
512
*
1024
日志清理时候用到的IO块大小一般不需要修改
log.cleaner.io.buffer.load.factor =
0.9
日志清理中hash表的扩大因子一般不需要修改
log.cleaner.backoff.ms =
15000
检查是否处罚日志清理的间隔
log.cleaner.min.cleanable.ratio=
0.5
日志清理的频率控制,越大意味着更高效的清理,同时会存在一些空间上的浪费,会被topic创建时的指定参数覆盖
log.cleaner.delete.retention.ms =1day
对于压缩的日志保留的最长时间,也是客户端消费消息的最长时间,同log.retention.minutes的区别在于一个控制未压缩数据,一个控制压缩后的数据。会被topic创建时的指定参数覆盖
log.index.size.max.bytes =
10
*
1024
*
1024
对于segment日志的索引文件大小限制,会被topic创建时的指定参数覆盖
log.index.interval.bytes =
4096
当执行一个fetch操作后,需要一定的空间来扫描最近的offset大小,设置越大,代表扫描速度越快,但是也更好内存,一般情况下不需要搭理这个参数
log.flush.interval.messages=None
log文件”sync”到磁盘之前累积的消息条数,因为磁盘IO操作是一个慢操作,但又是一个”数据可靠性
"的必要手段,所以此参数的设置,需要在"
数据可靠性
"与"
性能
"之间做必要的权衡.如果此值过大,将会导致每次"
fsync
"的时间较长(IO阻塞),如果此值过小,将会导致"
fsync"的次数较多,这也意味着整体的client请求有一定的延迟.物理server故障,将会导致没有fsync的消息丢失.
log.flush.scheduler.interval.ms =
3000
检查是否需要固化到硬盘的时间间隔
log.flush.interval.ms = None
仅仅通过interval来控制消息的磁盘写入时机,是不足的.此参数用于控制
"fsync"
的时间间隔,如果消息量始终没有达到阀值,但是离上一次磁盘同步的时间间隔达到阀值,也将触发.
log.delete.delay.ms =
60000
文件在索引中清除后保留的时间一般不需要去修改
log.flush.offset.checkpoint.interval.ms =
60000
控制上次固化硬盘的时间点,以便于数据恢复一般不需要去修改
auto.create.topics.enable =
true
是否允许自动创建topic,若是
false
,就需要通过命令创建topic
default
.replication.factor =
1
是否允许自动创建topic,若是
false
,就需要通过命令创建topic
num.partitions =
1
每个topic的分区个数,若是在topic创建时候没有指定的话会被topic创建时的指定参数覆盖
以下是kafka中Leader,replicas配置参数
controller.socket.timeout.ms =
30000
partition leader与replicas之间通讯时,socket的超时时间
controller.message.queue.size=
10
partition leader与replicas数据同步时,消息的队列尺寸
replica.lag.time.max.ms =
10000
replicas响应partition leader的最长等待时间,若是超过这个时间,就将replicas列入ISR(in-sync replicas),并认为它是死的,不会再加入管理中
replica.lag.max.messages =
4000
如果follower落后与leader太多,将会认为此follower[或者说partition relicas]已经失效
##通常,在follower与leader通讯时,因为网络延迟或者链接断开,总会导致replicas中消息同步滞后
##如果消息之后太多,leader将认为此follower网络延迟较大或者消息吞吐能力有限,将会把此replicas迁移
##到其他follower中.
##在broker数量较少,或者网络不足的环境中,建议提高此值.
replica.socket.timeout.ms=
30
*
1000
follower与leader之间的socket超时时间
replica.socket.receive.buffer.bytes=
64
*
1024
leader复制时候的socket缓存大小
replica.fetch.max.bytes =
1024
*
1024
replicas每次获取数据的最大大小
replica.fetch.wait.max.ms =
500
replicas同leader之间通信的最大等待时间,失败了会重试
replica.fetch.min.bytes =
1
fetch的最小数据尺寸,如果leader中尚未同步的数据不足此值,将会阻塞,直到满足条件
num.replica.fetchers=
1
leader进行复制的线程数,增大这个数值会增加follower的IO
replica.high.watermark.checkpoint.interval.ms =
5000
每个replica检查是否将最高水位进行固化的频率
controlled.shutdown.enable =
false
是否允许控制器关闭broker ,若是设置为
true
,会关闭所有在这个broker上的leader,并转移到其他broker
controlled.shutdown.max.retries =
3
控制器关闭的尝试次数
controlled.shutdown.retry.backoff.ms =
5000
每次关闭尝试的时间间隔
leader.imbalance.per.broker.percentage =
10
leader的不平衡比例,若是超过这个数值,会对分区进行重新的平衡
leader.imbalance.check.interval.seconds =
300
检查leader是否不平衡的时间间隔
offset.metadata.max.bytes
客户端保留offset信息的最大空间大小
kafka中zookeeper参数配置
zookeeper.connect = localhost:
2181
zookeeper集群的地址,可以是多个,多个之间用逗号分割 hostname1:port1,hostname2:port2,hostname3:port3
zookeeper.session.timeout.ms=
6000
ZooKeeper的最大超时时间,就是心跳的间隔,若是没有反映,那么认为已经死了,不易过大
zookeeper.connection.timeout.ms =
6000
ZooKeeper的连接超时时间
zookeeper.sync.time.ms =
2000
ZooKeeper集群中leader和follower之间的同步实际那
kafka_zookeeper_配置文件配置的更多相关文章
- asp.net core 将配置文件配置迁移到数据库(一)
asp.net core 将配置文件配置迁移到数据库(一) Intro asp.net core 配置默认是项目根目录下的 appsettings.json 文件,还有环境变量以及 command l ...
- redis cluster的conf配置文件配置
redis cluster的conf配置文件配置 master配置文件如下: bind 127.0.0.1 port tcp-backlog timeout tcp-keepalive logleve ...
- IDEA配置文件的配置文件配置
IDEA配置文件的配置文件配置: 路径 /Applications/IntelliJ IDEA 3.app/Contents/bin/idea.vmoptions (/IntelliJ IDEA 3. ...
- ssh2的application.xml配置文件配置详解
ssh2的application.xml配置文件配置详解 1.导入其他的配置文件.在ssh项目中可以导入其他的配置文件,导入的格式为: <import resource="clas ...
- 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
- centos LAMP第三部分php,mysql配置 php配置文件 配置php的error_log 配置php的open_basedir 安装php的扩展模块 phpize mysql配置第二十一节课
centos LAMP第三部分php,mysql配置 php配置文件 配置php的error_log 配置php的open_basedir 安装php的扩展模块 phpize mysql配 ...
- log4net独立配置文件配置(winfrom)
log4net配置很多,具体配置步骤不细说,具体说出个人遇到的问题. 在winfrom和web应用程序中配置,在默认配置文件配置都没问题,因为EF也写在默认配置文件中,就会冲突解决办法就是将log4. ...
- 四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
- C# 使用配置文件配置应用
使用配置文件配置应用 .NET Framework 通过配置文件为开发人员和管理员提供了对应应用程序运行方式的控制权和灵活性.配置文件可以按需要更改的XML文件.管理员能够控制应用程序可以访问哪些受保 ...
随机推荐
- [iOS]过渡动画之高级模仿 airbnb
注意:我为过渡动画写了两篇文章:第一篇:[iOS]过渡动画之简单模仿系统,主要分析系统简单的动画实现原理,以及讲解坐标系.绝对坐标系.相对坐标系,坐标系转换等知识,为第二篇储备理论基础.最后实现 Ma ...
- Linux下发布javaWeb项目,配置环境变量,tomcat,和安装mysql数据库
如果不懂,可以联系微博本人:QQ:3111901846 (原创) 1.配置java中jdk 注意一切操作,都是在root这个目录下进行的,不要选择其他目录,不然会出现一些小问题的 第一步: 你需要一个 ...
- 验证码在后台的编写,并实现点击验证码图片时时发生更新 C# 项目发布到IIS后不能用log4net写日志
验证码在后台的编写,并实现点击验证码图片时时发生更新 验证码在软件中的地位越来越重要,有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试:下面就是实现验证码的基本步骤: ...
- js完美的div拖拽实例代码
方案一: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- 页面日期选择控件--jquery ui datepicker 插件
日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等.官方地址:http://docs.jquery.com ...
- mysql 数据表的引擎 MyISAM 和 InnoDB
需要使用锁和事务时,必须使用InnoDB模式 可以通过以下语句查看表的类型 SHOW TABLE STATUS FROM [DATABASE_NAME] 修改数据表的引擎类型: navicat: 设计 ...
- How to install Mysql in the CentOS
This article will walk through you the process of installing and updating latest MySQL 5.7.9 version ...
- Mac中提升权限修改系统目录
原来OSX EI Capitan中增加了一个SIP功能,不管你是不是su,都会阻止你在系统目录下进行操作.如果,想要修改系统目录的文件,如升级bash,需要修改/bin/bash,那么就要先关闭SIP ...
- 翻翻git之---效果鲜明的类ViewPager库 ConvenientBanner(对图片载入部分进行改动)
转载请注明出处:王亟亟的大牛之路 昨天写了篇基础的View绘制的内容貌似观众老爷们不怎么喜欢.那再这里再安利下自己定义View时.用到Paint Canvas的一些温故.讲讲用路径绘画实现动画效果(基 ...
- canvas.drawBitmap(bitmap, src, dst, paint)
// GameView.drawImage(canvas, mBitDestTop, miDTX, mBitQQ.getHeight(), mBitDestTop.getWidth(), mBitDe ...