Kafka几个重要的配置总结

栏目: 后端 · 发布时间: 6年前

内容简介:注意:配置基于Kafka 0.8.2.1#非负整数,用于唯一标识brokerbroker.id 0

注意:配置基于Kafka 0.8.2.1

broker配置

#非负整数,用于唯一标识broker

broker.id 0

#kafka持久化数据存储的路径,可以指定多个,以逗号分隔

log.dirs /tmp/kafka-logs

#broker接收连接请求的端口

port 9092

#指定zk连接字符串,[hostname:port]以逗号分隔

zookeeper.connect

#单条消息最大大小控制,消费端的最大拉取大小需要略大于该值

message.max.bytes 1000000

#接收网络请求的线程数

num.network.threads 3

#用于执行请求的I/O线程数

num.io.threads 8

#用于各种后台处理任务(如文件删除)的线程数

background.threads 10

#待处理请求最大可缓冲的队列大小

queued.max.requests 500

#配置该机器的IP地址

host.name 

#默认分区个数

num.partitions  1

#分段文件大小,超过后会轮转

log.segment.bytes 1024 * 1024 * 1024

#日志没达到大小,如果达到这个时间也会轮转

log.roll.{ms,hours}   168

#日志保留时间

log.retention.{ms,minutes,hours}

#不存在topic的时候是否自动创建

auto.create.topics.enable true

#partition默认的备份因子

default.replication.factor 1

#如果这个时间内follower没有发起fetch请求,被认为dead,从ISR移除

replica.lag.time.max.ms   10000

#如果follower相比leader落后这么多以上消息条数,会被从ISR移除

replica.lag.max.messages  4000

#从leader可以拉取的消息最大大小

replica.fetch.max.bytes 1024 * 1024

#从leader拉取消息的fetch线程数

num.replica.fetchers 1

#zk会话超时时间

zookeeper.session.timeout.ms  6000

#zk连接所用时间

zookeeper.connection.timeout.ms

#zk follower落后leader的时间

zookeeper.sync.time.ms 2000

#是否开启topic可以被删除的方式

delete.topic.enable false

producer配置

#参与消息确认的broker数量控制,0代表不需要任何确认 1代表需要leader replica确认 -1代表需要ISR中所有进行确认

request.required.acks 0

#从发送请求到收到ACK确认等待的最长时间(超时时间)

request.timeout.ms  10000

#设置消息发送模式,默认是同步方式, async异步模式下允许消息累计到一定量或一段时间又另外线程批量发送,吞吐量好但丢失数据风险增大

producer.type sync

#消息序列化类实现方式,默认是byte[]数组形式

serializer.class kafka.serializer.DefaultEncoder

#kafka消息分区策略实现方式,默认是对key进行hash

partitioner.class kafka.producer.DefaultPartitioner

#对发送的消息采取的压缩编码方式,有none|gzip|snappy

compression.codec none

#指定哪些topic的message需要压缩

compressed.topics  null

#消息发送失败的情况下,重试发送的次数 存在消息发送是成功的,只是由于网络导致ACK没收到的重试,会出现消息被重复发送的情况

message.send.max.retries 3

#在开始重新发起metadata更新操作需要等待的时间

retry.backoff.ms 100

#metadata刷新间隔时间,如果负值则失败的时候才会刷新,如果0则每次发送后都刷新,正值则是一种周期行为

topic.metadata.refresh.interval.ms 600 * 1000

#异步发送模式下,缓存数据的最长时间,之后便会被发送到broker

queue.buffering.max.ms 5000

#producer端异步模式下最多缓存的消息条数

queue.buffering.max.messages 10000

#0代表队列没满的时候直接入队,满了立即扔弃,-1代表无条件阻塞且不丢弃

queue.enqueue.timeout.ms -1

#一次批量发送需要达到的消息条数,当然如果queue.buffering.max.ms达到的时候也会被发送

batch.num.messages 200

consumer配置

#指明当前消费进程所属的消费组,一个partition只能被同一个消费组的一个消费者消费

group.id

#针对一个partition的fetch request所能拉取的最大消息字节数,必须大于等于Kafka运行的最大消息

fetch.message.max.bytes  1024 * 1024

#是否自动周期性提交已经拉取到消费端的消息offset

auto.commit.enable true

#自动提交offset到zookeeper的时间间隔

auto.commit.interval.ms  60 * 1000

#消费均衡的重试次数

rebalance.max.retries  4

#消费均衡两次重试之间的时间间隔

rebalance.backoff.ms 2000

#当重新去获取partition的leader前需要等待的时间

refresh.leader.backoff.ms   200

#如果zookeeper上没有offset合理的初始值情况下获取第一条消息开始的策略smallest|largeset

auto.offset.reset largest

#如果其超时,将会可能触发rebalance并认为已经死去

zookeeper.session.timeout.ms  6000

#确认zookeeper连接建立操作客户端能等待的最长时间

zookeeper.connection.timeout.ms 6000

参考连接:

https://blog.csdn.net/huanggang028/article/details/47830529


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Numerical Methods and Methods of Approximation in Science and En

Numerical Methods and Methods of Approximation in Science and En

Karan Surana / CRC Press / 2018-10-31

ABOUT THIS BOOK Numerical Methods and Methods of Approximation in Science and Engineering prepares students and other readers for advanced studies involving applied numerical and computational anal......一起来看看 《Numerical Methods and Methods of Approximation in Science and En》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器