Kafka常用配置参数
操作场景
MRS提供可视化的参数查看及修改界面,用户可根据实际业务的需求修改相关参数。
参数入口
- 登录MRS集群Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > Kafka > 配置 > 全部配置”。
- 搜索以下参数名称,并根据实际需要修改参数值。
- 修改完成后保存配置,并重新启动配置过期的服务或实例以使配置生效。
常用参数
|
参数名称 |
参数说明 |
取值示例 |
|---|---|---|
|
log.dirs |
Kafka数据存储目录列表。
|
%{@auto.detect.datapart.bk.log.logs} |
|
KAFKA_HEAP_OPTS |
Kafka启动Broker时使用的JVM选项。
|
-Xmx6G -Xms6G |
|
auto.create.topics.enable |
是否允许自动创建Topic。
默认值:true |
true |
|
num.partitions |
自动创建Topic时的默认分区数。
|
2 |
|
default.replication.factor |
自动创建Topic时的默认副本数。
|
2 |
|
monitor.preInitDelay |
服务启动后,第一次健康检查的延迟时间。
|
10800000 |
Broker超时参数
|
参数名称 |
参数说明 |
默认值 |
影响分析 |
|---|---|---|---|
|
controller.socket.timeout.ms |
Controller连接Broker的超时时间。 单位:毫秒。 |
30000 |
该参数取值一般不需要调整。 |
|
group.max.session.timeout.ms |
Consumer注册时允许的最大会话超时时间。 单位:毫秒。 |
1800000 |
允许Consumer配置的session.timeout.ms的最大值(不包含此值)。 |
|
group.min.session.timeout.ms |
Consumer注册时允许的最小会话超时时间。 单位:毫秒。 |
6000 |
允许Consumer配置的session.timeout.ms的最小值(不包含此值)。 |
|
offsets.commit.timeout.ms |
Offset提交请求的超时时间。 单位:毫秒。 |
5000 |
Offset提交时被延迟处理的最大超时时间。 |
|
replica.socket.timeout.ms |
副本数据同步请求的超时时间,配置值不得小于“replica.fetch.wait.max.ms”。 单位:毫秒。 |
30000 |
同步线程在发送同步请求之前等待通道建立的最大超时时间,要求配置大于“replica.fetch.wait.max.ms”。 replica.fetch.wait.max.ms:副本与Leader之间通信的最大等待时间。 |
|
request.timeout.ms |
设置客户端发送连接请求后,等待响应的超时时间。 单位:毫秒。 |
30000 |
Broker节点上的Controller、Replica线程中传入networkclient连接的超时参数,如果在超时时间内没有接收到响应,那么客户端重新发送,并在达到重试次数后返回请求失败。 |
|
transaction.max.timeout.ms |
事务允许的最大超时。 单位:毫秒。 |
900000 |
如果客户端的请求时间超过该值,则Broker将在InitProducerIdRequest中返回一个错误。这样可以防止客户端超时时间过长,而导致消费者无法接收topic。 |
|
user.group.cache.timeout.sec |
指定缓存中保存用户对应组信息的时间。 单位:秒。 |
300 |
缓存中用户和组对应关系缓存时间,超过此时间用户信息才会再次通过id -Gn命令查询,在此期间,仅使用缓存中的用户和组对应关系。 |
|
zookeeper.connection.timeout.ms |
连接ZooKeeper的超时时间。 单位:毫秒。 |
45000 |
ZooKeeper连接超时时间,这个时间决定了zkclient中初次连接建立过程时允许消耗的时间,超过该时间,zkclient会主动断开。 |
|
zookeeper.session.timeout.ms |
ZooKeeper会话超时时间。如果Broker在此时间内未向ZooKeeper上报心跳,则被认为失效。 单位:毫秒。 |
45000 |
ZooKeeper会话超时时间。
|
Producer超时参数
|
参数名称 |
参数说明 |
默认值 |
影响分析 |
|---|---|---|---|
|
request.timeout.ms |
设置客户端发送连接请求后,等待响应的超时时间。 如果在超时时间内没有接收到响应,那么客户端重新发送,并在达到重试次数后返回请求失败。 单位:毫秒。 |
30000 |
请求超时时间,出现网络问题时,需调大此参数。 如果配置过小,则容易出现Batch Expire异常。 |
Consumer超时参数
|
参数配置名称 |
参数说明 |
默认值 |
影响分析 |
|---|---|---|---|
|
connections.max.idle.ms |
空闲连接的保留时间。 单位:毫秒 |
600000 |
连接空闲时间大于此时间,则会销毁该连接,有需要时重新创建连接。 |
|
request.timeout.ms |
设置客户端发送连接请求后,等待响应的超时时间。 单位:毫秒。 |
30000 |
如果在超时时间内没有接收到响应,那么客户端重新发送,并在达到重试次数后返回请求失败。 |