• kafka efak监控工具


    Kafka Eagle/ efak监控工具使用

    1.下载安装

    http://download.kafka-eagle.org/
    https://github.com/smartloli/kafka-eagle-bin/releases/tag/v2.1.0
    https://github.com/smartloli/kafka-eagle-bin
    

    2.配置JDK和KE环境变量

    vi ~/.bash_profile
    export JAVA_HOME=/usr/local/jdk8
    export KE_HOME=/data/soft/new/kafka-eagle
    
    export PATH=$PATH:$JAVA_HOME/bin:$KE_HOME/bin
    
    source ~/.bash_profile
    

    3.解压安装包

    tar -zxvf efak-xxx-bin.tar.gz
    

    4.修改配置文件

    cd ${KE_HOME}/conf
    vi system-config.properties
    ######################################
    # multi zookeeper & kafka cluster list
    # Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
    ######################################
    efak.zk.cluster.alias=cluster1
    cluster1.zk.list=192.20.32.22:2181,192.20.32.23:2181,192.20.32.24:2181
    
    ######################################
    # zookeeper enable acl
    ######################################
    cluster1.zk.acl.enable=false
    cluster1.zk.acl.schema=digest
    cluster1.zk.acl.username=test
    cluster1.zk.acl.password=test123
    
    ######################################
    # broker size online list
    ######################################
    cluster1.efak.broker.size=20
    
    ######################################
    # zk client thread limit
    ######################################
    kafka.zk.limit.size=16
    
    ######################################
    # EFAK webui port
    ######################################
    efak.webui.port=8048
    
    ######################################
    # EFAK enable distributed
    ######################################
    efak.distributed.enable=false
    efak.cluster.mode.status=master
    efak.worknode.master.host=localhost
    efak.worknode.port=8085
    
    ######################################
    # kafka jmx acl and ssl authenticate
    ######################################
    cluster1.efak.jmx.acl=false
    cluster1.efak.jmx.user=keadmin
    cluster1.efak.jmx.password=keadmin123
    cluster1.efak.jmx.ssl=false
    cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststore
    cluster1.efak.jmx.truststore.password=ke123456
    
    ######################################
    # kafka offset storage
    ######################################
    cluster1.efak.offset.storage=kafka
    cluster2.efak.offset.storage=zk
    
    ######################################
    # kafka jmx uri
    ######################################
    cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://192.20.32.29:9988/jmxrmi
    
    ######################################
    # kafka metrics, 15 days by default
    ######################################
    efak.metrics.charts=true
    efak.metrics.retain=15
    
    ######################################
    # kafka sql topic records max
    ######################################
    efak.sql.topic.records.max=5000
    efak.sql.topic.preview.records.max=10
    
    ######################################
    # delete kafka topic token
    ######################################
    efak.topic.token=keadmin
    
    ######################################
    # kafka sasl authenticate
    ######################################
    cluster1.efak.sasl.enable=true
    cluster1.efak.sasl.protocol=SASL_PLAINTEXT
    cluster1.efak.sasl.mechanism=PLAIN
    cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="xxx" password="XXX";
    cluster1.efak.sasl.client.id=
    cluster1.efak.blacklist.topics=
    cluster1.efak.sasl.cgroup.enable=false
    cluster1.efak.sasl.cgroup.topics=
    
    
    ######################################
    # kafka ssl authenticate
    ######################################
    cluster3.efak.ssl.enable=false
    cluster3.efak.ssl.protocol=SSL
    cluster3.efak.ssl.truststore.location=
    cluster3.efak.ssl.truststore.password=
    cluster3.efak.ssl.keystore.location=
    cluster3.efak.ssl.keystore.password=
    cluster3.efak.ssl.key.password=
    cluster3.efak.ssl.endpoint.identification.algorithm=https
    cluster3.efak.blacklist.topics=
    cluster3.efak.ssl.cgroup.enable=false
    cluster3.efak.ssl.cgroup.topics=
    
    ######################################
    # kafka sqlite jdbc driver address
    ######################################
    #efak.driver=org.sqlite.JDBC
    #efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
    #efak.username=root
    #efak.password=www.kafka-eagle.org
    
    ######################################
    # kafka mysql jdbc driver address
    ######################################
    efak.driver=org.sqlite.JDBC
    efak.url=jdbc:sqlite:/root/kafka-eagle-bin/efak-web-2.1.0/db/ke.db
    efak.username=root
    efak.password=www.kafka-eagle.org
    
    
    

    5.启动

    cd ${KE_HOME}/bin
    chmod +x ke.sh 
    sh ke.sh start
    # 分布式
    ke.sh cluster start
    ke.sh cluster restart
    ke.sh cluster stop
    

    6.访问界面

    # 等待一会后,访问界面
    http://192.168.20.21:8084
    # 用户名、密码
    admin/123456
    

    7.配置kafka JMX用于性能采集

    (1.) 开启kafka JMX端口

    方法一:

    vi kafka-server-start.sh
    ...
    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
        export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
        export JMX_PORT="9999"
    fi
    

    方法二:

    a.)在 kafka的/bin目录下的kafka-run-class文件中的第一行,添加`JMX_PORT=59903`
    b.)  查找KAFKA_JMX_OPTS,绑定ip,添加 `-Djava.rmi.server.hostname=10.11.34.185`
    c.) 打开jconsul,输入 `service:jmx:rmi:///jndi/rmi://10.11.34.185:59903/jmxrmi`
    

    (2.)修改zookeeper启动脚本

    vi zkServer.sh
    ...
    // after 77 lines
    ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
    

    (3.) 重启zookeeper、kafka后,用jconsul进行连接测试

    service:jmx:rmi:///jndi/rmi://192.168.10.11:9999/jmxrmi
    

    相关链接

    http://www.kafka-eagle.org/

    http://www.kafka-eagle.org/articles/docs/installation/linux-macos.html

    https://www.cnblogs.com/smartloli/p/9371904.html

  • 相关阅读:
    安装依赖包
    python之高阶函数编程
    ubuntu之安装java浏览器插件
    python之函数式编程
    openstack第1天
    mysql null 相关bug
    nginx 【转】
    python mock
    查看docker 内各个容器的ip
    python sqlparse 各种 token
  • 原文地址:https://www.cnblogs.com/tomtellyou/p/16092916.html
Copyright © 2020-2023  润新知