• Kafka集群参数调优


    JVM参数调优

    默认情况下启动Broker进程只会使用1G内存,在实际使用过程中会导致频繁的GC,会影响Kafka集群的性能和稳定性。

    [root@hadoop01 bin]# vim kafka-server-start.sh 
    
    • 1

    image-20240313101345697

    # 查看 gc 的详细信息
    [root@hadoop01 kafka_2.12-2.4.0]# jstat -gcutil 60640 1000
      S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
      0.00 100.00  56.07  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.07  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.07  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.07  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.23  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.23  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.23  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.23  37.23  92.00  92.32     87    2.533     0    0.000    2.533
      0.00 100.00  56.23  37.23  92.00  92.32     87    2.533     0    0.000    2.533
    ^CYou have new mail in /var/spool/mail/root
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    Replication参数调优

    • replica.socket.timeout.ms=60000,控制partition副本之间的socket的通信超时时间,默认是30,如果值太小可能会误判某个partition副本连不上
    • replica.lag.time.max.ms=50000,如果一个副本在指定的时间内没有向leader发送请求或者没有同步完leader的数据,leader就会将其从isr中移除,默认是10s,如果集群网络不好或者kafka压力比较大,建议将这个值调大一些,否则会频繁出现副本流失,进而导致集群需要频繁复制副本,导致集群压力更大,恶性循环

    Log参数调优

    • log.retention.hours=24,默认值是7天

    Topic命名小技巧

    • Topic名称:action_r2p10,r2:表示partition的副本因子是2,p10:表示Topic的分区数是10,这样可以清楚的知道应该设置多少个消费者去消费数据的效率更高,效率最高的就是消费者的数量和Topic分区的数量保持一致

    Kafka集群监控管理工具-CMAK

    • 下载地址:https://github.com/yahoo/CMAK
    • jdk11环境:https://repo.huaweicloud.com/java/jdk/11.0.2+7/
    [root@hadoop01 cmak-3.0.0.4]# unzip cmak-3.0.0.4.zip 
    # 首行添加,jdk只要解压不需要配置环境变量
    [root@hadoop01 cmak-3.0.0.4]# vim cmak
    JAVA_HOME=/home/soft/jdk11
    [root@hadoop01 cmak-3.0.0.4]# vim application.conf 
    cmak.zkhosts="hadoop01:2182,hadoop02:2181,hadoop03:2181"
    
    # 重启kafka
    [root@hadoop01 kafka]# JMX_PORT=9988 bin/kafka-server-start.sh -deamon config/server.properties 
    # 启动cmk
    [root@hadoop01 cmak-3.0.0.4]# bin/cmak -Dconfig.file=conf/application.conf -Dhttp.port=9876
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    
    访问9876端口
    
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e19b99a845ba42d7b0e42b48b23dcfba.png#pic_center)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    手摸手 Spring Cloud Gateway + JWT 实现登录认证
    高校节能环保建设
    基于Web的大众汽车租赁系统设计与实现-计算机毕业设计源码+LW文档
    【毕业设计】大数据公交数据分析与可视化 - 大数据 python falsk
    线束测试仪怎么使用的,ATX-3000线束检测仪基本操作流程
    Elasticsearch安装过程出现的问题
    C陷阱与缺陷 第7章 可移植性缺陷 7.2 标识符名称的限制
    小白入门pytorch(二)----神经网络
    网工自述:在誉天学习的一年里,我的工资从3800涨到15k,而且收获了爱情。
    string的简单介绍和模拟实现
  • 原文地址:https://blog.csdn.net/Grady00/article/details/136674912