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 ...
随机推荐
- 170814-17关于javaweb的知识点
1. 静态web项目.动态web项目区别 WEB-INF ...
- CTO爆料:2019程序员最需要了解的行业前沿技术是什么?
安森,个推CTO 毕业于浙江大学,现全面负责个推技术选型.研发创新.运维管理等工作,已带领团队开发出针对移动互联网.金融风控等行业的多项前沿数据智能解决方案. 曾任MSN中国首席架构师,拥有十余年资深 ...
- 续上文,Unity3D面试ABC
http://www.unitymanual.com/blog-3573-685.html 最先执行的方法是: 1.(激活时的初始化代码)Awake,2.Start.3.Update[FixUpdat ...
- Java数据结构与算法(1):线性表
线性表是一种简单的数据类型,它是具有相同类型的n个数据元素组成的有限序列.形如如A0,A1,...,An-1.大小为0的表为空表,称Ai后继Ai-1,并称Ai-1前驱Ai. printList打印出表 ...
- DAY 3 上午
状压DP 状态压缩dp 状态压缩是设计dp状态的一种方式. 当普通的dp状态维数很多(或者说维数与输入数据有关),但每一维总量很少时,可以将多维状态压缩为一维来记录. 这种题目最明显的特征就是:都存在 ...
- VMware 虚拟化编程(11) — VMware 虚拟机的全量备份与增量备份方案
目录 目录 前文列表 全量备份数据的获取方式 增量备份数据的获取过程 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDiskLib/VADP 概念简析 VMware 虚拟化编 ...
- C# datatable 与 xml文件之间的转换
/// <summary> /// datatable转XML文件 /// </summary> /// <param name="dtTable"& ...
- nvm-windows编译源码 go遇到的问题
异常: Microsoft Windows [Version 10.0.17134.1006] (c) Microsoft Corporation. All rights reserved. C:\U ...
- Windows + Ubuntu 16.04 双系统安装详细教程(转)
转载自:http://www.cnblogs.com/Duane/p/6776302.html 前言:本篇文章是对之前文章的更新,更新的主内容是把原来用手机拍摄的图片换成了虚拟机的截图,以及对磁盘划分 ...
- 从SVN下检出项目内容【步骤】
1.新创建一个新的工作环境,然后new--->other--->SVN 2.点击Next,然后进行检出项目的操作,如下图所示: 3.再点击Next,进行输入指定的url地址,从指定的url ...