kafka参数设置
一、broker参数
broker.id:kafka集群的唯一标识。
log.dirs:kafka存储消息日志的目录,多个用逗号隔开,需要保证指定的目录有充足的磁盘空间。
zookeeper.connect:必须配置,指定kafka集群注册的zookeeper集群的地址。格式是:[主机名]:端口,多个使用逗号隔开。当多个kafka集群注册到同一个zookeeper集群时,必须在末尾指定chroot(即当前kafka集群注册到zookeeper的根目录),用于
将每个kafka集群隔离开,如:localhost:2181,localhost:2182/kafka_cluster1,此处的/kafka_cluster1就表示chroot。
listeners:该参数用于客户端连接broker端。格式:[协议]://[主机名]:[端口],多个使用逗号隔开。如果不指定主机名,则绑定默认网卡,若主机名是:0.0.0.0,则绑定多有网卡。kafka当前支持的协议包括:PLAINTEXT、SSL和SASL_SSL。对于未启用安全的
kafka集群,使用PLAINTEXT就可以了。否者使用SSL或者SASL_SSL。
advertised.listeners:和listeners类似,也是用于发布给clients的,不过该参数主要用于IaaS环境。对于有多块网卡的环境(公网网卡和私网网卡),可以指定该参数绑定公网IP,供外部clients使用,使用listeners绑定私网IP,公内部clients使用。
unclean.leader.election.enable:是否开启unclean leader选举,默认是false。表示如果ISR变空,而此时leader有宕机了,kafka不允许从剩下存活的非ISR副本中选择一个当leader,因为如果允许,虽然kafka可以继续为clients提供服务,但会造成数据丢失。
delete.topic.enable:是否允许删除topic及管理的所有数据,新版本默认允许。这是一个异步删除。
log.retention.{hours|minutes|ms}:该参数主要用于设置kafka消息持久化的时间,若同时设置,优先级是ms>minutes>hours,默认是保存7天。
log.retention.bytes:该参数主要控制kafka集群需要为每个消息日志保存多大的数据。对于大小超过了这个设置,kafka会自动清理过期的日志段文件。默认是1G。
min.insync.replicas:该参数主要配合producer的acks使用。当acks=-1,表示producer端寻求最高等级的持久化保证,而min.insync.replicas也只有在acks=-1时才有意义,它指定了broker端必须成功响应clients端消息发送的最少分片数才算成功。举个栗子:
加上某个topic的每个分片数为3,当min.insync.replicas=2,则表示我们容一台kafka机器宕机。
num.network.threads:控制一个broker在后台用于处理网络请求的线程数,默认3。这里的“处理”只是负责转发请求,他会将接收到的请求转发到后面的处理线程中。在正式环境中,用户需要不停的监控NetworkProcessorAvgIdlePercent JMX指标,若该指标
持续低于0.3,则需要调大该参数。
num.io.threads:这个参数是控制broker端实际处理网络请求的线程数,默认8,。kafka默认创建8个线程以轮询的方式不停的监听转发过来的网络请求并进行处理。kafka同样也为请求处理提供了一个JMX监控指标RequestHandlerAvgIdlePercent ,当指标低于0.3时,
则需要调大该参数。
message.max.bytes:kafka能够接受的最大消息大小,默认是977KB,用户可以根据需要进行设置。
二、topic参数
delete.retention.ms:每个topic可以设置自己的留存时间,以覆盖broker设置的全局留存时间。
max.message.bytes:覆盖全局的message.max.bytes。
retention.bytes:覆盖全局的log.retention.bytes。
kafka参数设置的更多相关文章
- Kafka关键参数设置
生产环境中使用Kafka,参数调优非常重要,而Kafka参数众多,我们的java的Configuration代码中,经常设置的参数如下: Properties props = new Properti ...
- kafka 参数配置 1
kafka 参数配置 #参数配置 * broker.id : kafka 集群的唯一,标识每个broker * log.dirs : 指定kafka持久化消息的目录,可以设置多个目录,如:/home/ ...
- kafka参数在线修改
当kafka集群单个节点出现磁盘满了,需要清理历史topic数据:方法如下 1): 停掉kafka进程,将kafka的server.properties中的log.retention.hours=1/ ...
- kafka参数解析+启动参数解析
Kafka参数详解 每个kafka broker中配置文件server.properties默认必须配置的属性如下: broker.id=0 num.network.threads=2 num.io. ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...
- jqGrid的autoencode参数设置为true在客户端可能引发的编码问题
不久前使用jqGrid+MVC做过一段时间开发. 一开始,分页参数几乎都是默认值,jqGrid的分页功能很好用. 考虑到each input is evil,我们的系统对安全性又有较高要求,所以,为了 ...
- Hibernate 参数设置一览表
Hibernate 参数设置一览表 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 fu ...
- 使用MEF实现通用参数设置
通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...
- MySQL Database on Azure 参数设置
在使用MySQL过程中,经常会根据需要对MySQL的参数进行一些设置和调整.作为PaaS版本的MySQL,MySQL Database on Azure在参数设置方面有一些限制,客户不能像使用on-p ...
随机推荐
- Linux6.6及以上版本配置oracle-ASM共享储存-UDEV
在linux6.6版本之前,我们又两种方式可以配置asm共享磁盘,一种是安装asm驱动包进行asm磁盘组配置,另一种是UDEV通过识别共享存储UUID号进行asm磁盘组配置. 但在linux6.6之后 ...
- fastjson学习笔记
先来说说什么是 JSON 吧. JSON:JavaScript对象表示法(JavaScript Object Notation).JSON 是存储和交换文本信息的语法.JSON 语法是 JavaScr ...
- Java数据结构与算法(2):栈
栈是一种线性表,特点在于它只能在一个位置上进行插入和删除,该位置是表的末端,叫做栈的顶(top).因此栈是后进先出的(FIFO).栈的基本操作有push.peek.pop. 栈的示意图 进栈和出栈都只 ...
- javaweb阶段几个必会面试题
1.jsp的9大隐式对象 response(page):response对象是javax.servlet.http.HttpServletResponse对象的一个实例.就像服务器创建request对 ...
- PJSIP库设置Via地址
好记性不如烂笔头,解决项目问题,调试代码跟踪到PJSIP 设置Via地址位置,记录下来,以备后用. PJSIP库在方法stateless_send_transport_cb中设置Via地址值,该方法在 ...
- Maven install报错:MojoFailureException ,To see the full stack trace of the errors, re-run Maven with the -e switch.解决
报错日志: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to ...
- Week 5 - 529.Minesweeper
529.Minesweeper Let's play the minesweeper game (Wikipedia, online game)! You are given a 2D char ma ...
- 佳能mp288拆解步骤--绝对原创
http://itbbs.pconline.com.cn/office/50663206.html 佳能mp288拆解步骤--绝对原创 gotobug Lv1太平洋舰队新兵 楼主 2013-10-13 ...
- STL 仿函数(函数对象)
##定义 仿函数(functor):一种具有函数性质的对象. 仿函数在C++中的新名称为函数对象(function object). 仿函数类对象像函数一样被调用,调用仿函数类对象时,实际调用的是仿函 ...
- Java相关面试题总结+答案(六)
[Spring/Spring MVC] 90. 为什么要使用 spring? spring 提供了 IOC 技术,spring 容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实 ...