Kafka常用参数
本章节内容适用于MRS 3.x及后续版本。
参数入口
参数入口,请参考修改集群服务配置参数。
常用参数
| 
        配置参数  | 
      
        说明  | 
      
        缺省值  | 
     
|---|---|---|
| 
        log.dirs  | 
      
        Kafka数据存储目录列表,以逗号分隔多个目录。  | 
      
        %{@auto.detect.datapart.bk.log.logs}  | 
     
| 
        KAFKA_HEAP_OPTS  | 
      
        Kafka启动Broker时使用的jvm选项。建议根据业务需要进行设置。  | 
      
        -Xmx6G -Xms6G  | 
     
| 
        auto.create.topics.enable  | 
      
        是否自动创建Topic,若参数设置为false,发消息前需要通过命令创建Topic。  | 
      
        true  | 
     
| 
        default.replication.factor  | 
      
        自动创建Topic时的默认副本数。  | 
      
        2  | 
     
| 
        monitor.preInitDelay  | 
      
        服务启动后,第一次健康检查的延迟时间。如果启动需要较长时间,可以通过调大参数,来完成启动。单位为毫秒。  | 
      
        600000  | 
     
超时参数
| 
        参数名称  | 
      
        参数说明  | 
      
        默认值  | 
      
        影响分析  | 
     
|---|---|---|---|
| 
        controller.socket.timeout.ms  | 
      
        Controller连接Broker的超时时间。单位:毫秒。  | 
      
        30000  | 
      
        Controller连接Broker的超时时间,一般不需要调整。  | 
     
| 
        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。  | 
     
| 
        request.timeout.ms  | 
      
        设置客户端发送连接请求后,等待响应的超时时间。如果在超时时间内没有接收到响应,那么客户端重新发送,并在达到重试次数后返回请求失败。单位:毫秒。  | 
      
        30000  | 
      
        Broker节点上的Controller、Replica线程中传入networkclient连接的超时参数。  | 
     
| 
        transaction.max.timeout.ms  | 
      
        事务允许的最大超时。如果客户端的请求时间超过该值,则Broker将在InitProducerIdRequest中返回一个错误。这样可以防止客户端超时时间过长,而导致消费者无法接收topic。单位:毫秒。  | 
      
        900000  | 
      
        事务最大超时时间。  | 
     
| 
        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会话超时时间。 作用一:这个时间结合传入的ZKURL中ZooKeeper的地址个数,ZooKeeper客户端以(sessionTimeout/传入ZooKeeper地址个数)为连接一个节点的超时时间,超过此时间未连接成功,则尝试连接下一个节点。 作用二:连接建立后,一个会话的超时时间,如ZooKeeper上注册的临时节点BrokerId,当Broker被停止,则该BrokerId,会经过一个sessionTimeout才会被ZooKeeper清理。  | 
     
| 
        配置名称  | 
      
        说明  | 
      
        默认值  | 
      
        影响分析  | 
     
|---|---|---|---|
| 
        request.timeout.ms  | 
      
        指定发送消息请求的请求超时时间。  | 
      
        30000  | 
      
        请求超时时间,出现网络问题时,需调大此参数;配置过小,则容易出现Batch Expire异常。  | 
     
| 
        配置名称  | 
      
        说明  | 
      
        默认值  | 
      
        影响分析  | 
     
|---|---|---|---|
| 
        connections.max.idle.ms  | 
      
        空闲连接的保留时间。  | 
      
        600000  | 
      
        空闲连接的保留时间,连接空闲时间大于此时间,则会销毁该连接,有需要时重新创建连接。  | 
     
| 
        request.timeout.ms  | 
      
        消费请求的超时时间。  | 
      
        30000  | 
      
        请求超时时间,请求超时会失败然后不断重试。  |