美文网首页
Kafka Eagle 安装

Kafka Eagle 安装

作者: xiaolyuh | 来源:发表于2020-09-30 14:10 被阅读0次

    Kafka Eagle是kafka的web版的管理页面:

    0. 打开Kafka broker JMX

    Kafka Eagle获取监控数据是通过JMX(Java Managent ExtenSion)来实现的,所以需要打开Kafka broker 的 JMX,可以直接修改kafka-server-start.sh文件:

    vi $KAFKA_HOME/bin/kafka-server-start.sh
    

    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    fi
    

    修改为:

    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
        export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
        export JMX_PORT="9999"
    fi
    
    image.png

    如果是docker的话需要如下几步:

    1. 通过环境变量设置JMX_PORT值:
    docker run -d --name kafka1 -p 9092:9092 -p 9999:9999 -e JMX_PORT=9999 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.35.143.165:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.35.143.165:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
    
    1. 登录容器,修改kafka-run-class.sh脚本
    olafwang@OLAFWANG-MB0 build % docker exec -it kafka1 bash 
    bash-4.4# vi $KAFKA_HOME/bin/kafka-run-class.sh
    
    1. 新增如下配置


      image.png
    -Dcom.sun.management.jmxremote.rmi.port=9999
    -Djava.rmi.server.hostname=192.168.1.250
    -Dcom.sun.management.jmxremote.local.only=false
    

    注意hostname是容器宿主机的ip地址,不是docker分配给容器内部ip。

    1. 安装配置JDK

    2. Kafka Eagle 下载

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

    3. 解压Kafka Eagle

    tar -zxvf kafka-eagle-bin-2.0.2.tar.gz 
    mv kafka-eagle-bin-2.0.2 kafka-eagle
    

    4. 配置Kafka Eagle环境变量

    sudo vi /etc/profile
    # 添加到文件
    export KE_HOME=/data/soft/new/kafka-eagle
    export PATH=$PATH:$KE_HOME/bin
    

    mac os:

    vim ~/.bash_profile 
    # 添加到文件
    export KE_HOME=/data/soft/new/kafka-eagle
    export PATH=$PATH:$KE_HOME/bin
    

    使用source ~/.bash_profile使刚刚修改的文件生效。

    5. 配置Kafka Eagle系统文件

    根据自己的Kafka集群的实际情况配置Kafka Eagle,例如,zookeeper地址,Kafka集群的版本类型(低版本为zk,高版本为kafka),启用了安全认证的Kafka集群等。

    cd ${KE_HOME}/conf
    vi system-config.properties
    
    ######################################
    # multi zookeeper & kafka cluster list     (zookeeper地址)
    ######################################
    # kafka.eagle.zk.cluster.alias=cluster1,cluster2
    # cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
    # cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
    
    kafka.eagle.zk.cluster.alias=cluster1
    cluster1.zk.list=127.0.0.1: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.kafka.eagle.broker.size=20
    
    ######################################
    # zk client thread limit  (zk线程数)
    ######################################
    kafka.zk.limit.size=25
    
    ######################################
    # kafka eagle webui port (kafka eagle的端口)
    ######################################
    kafka.eagle.webui.port=8048
    
    ######################################
    # kafka jmx acl and ssl authenticate
    ######################################
    cluster1.kafka.eagle.jmx.acl=false
    cluster1.kafka.eagle.jmx.user=keadmin
    cluster1.kafka.eagle.jmx.password=keadmin123
    cluster1.kafka.eagle.jmx.ssl=false
    cluster1.kafka.eagle.jmx.truststore.location=/Users/dengjie/workspace/ssl/certificates/kafka.truststore
    cluster1.kafka.eagle.jmx.truststore.password=ke123456
    
    ######################################
    # kafka offset storage (kafka offset保存的位置)
    ######################################
    cluster1.kafka.eagle.offset.storage=kafka
    cluster2.kafka.eagle.offset.storage=zk
    
    ######################################
    # kafka metrics, 15 days by default  (开启图表)
    ######################################
    kafka.eagle.metrics.charts=true
    kafka.eagle.metrics.retain=15
    
    ######################################
    # kafka sql topic records max
    ######################################
    kafka.eagle.sql.topic.records.max=5000
    
    ######################################
    # delete kafka topic token
    ######################################
    kafka.eagle.topic.token=keadmin
    
    ######################################
    # kafka sasl authenticate
    ######################################
    cluster1.kafka.eagle.sasl.enable=false
    cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
    cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256
    cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
    cluster1.kafka.eagle.sasl.client.id=
    cluster1.kafka.eagle.blacklist.topics=
    cluster1.kafka.eagle.sasl.cgroup.enable=false
    cluster1.kafka.eagle.sasl.cgroup.topics=
    cluster2.kafka.eagle.sasl.enable=false
    cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
    cluster2.kafka.eagle.sasl.mechanism=PLAIN
    cluster2.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";
    cluster2.kafka.eagle.sasl.client.id=
    cluster2.kafka.eagle.blacklist.topics=
    cluster2.kafka.eagle.sasl.cgroup.enable=false
    cluster2.kafka.eagle.sasl.cgroup.topics=
    
    ######################################
    # kafka ssl authenticate
    ######################################
    cluster3.kafka.eagle.ssl.enable=false
    cluster3.kafka.eagle.ssl.protocol=SSL
    cluster3.kafka.eagle.ssl.truststore.location=
    cluster3.kafka.eagle.ssl.truststore.password=
    cluster3.kafka.eagle.ssl.keystore.location=
    cluster3.kafka.eagle.ssl.keystore.password=
    cluster3.kafka.eagle.ssl.key.password=
    cluster3.kafka.eagle.blacklist.topics=
    cluster3.kafka.eagle.ssl.cgroup.enable=false
    cluster3.kafka.eagle.ssl.cgroup.topics=
    
    ######################################
    # kafka sqlite jdbc driver address
    ######################################
    kafka.eagle.driver=org.sqlite.JDBC
    kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
    kafka.eagle.username=root
    kafka.eagle.password=www.kafka-eagle.org
    
    ######################################
    # kafka mysql jdbc driver address
    ######################################
    #kafka.eagle.driver=com.mysql.jdbc.Driver
    #kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
    #kafka.eagle.username=root
    #kafka.eagle.password=123456
    

    其实就修改了:

    kafka.eagle.zk.cluster.alias=cluster1
    cluster1.zk.list=127.0.0.1:2181
    
    kafka.eagle.url=jdbc:sqlite:/${KE_HOME}/db/ke.db
    

    6. 启动Kafka Eagle服务器

    在$KE_HOME/bin目录中,有一个ke.sh脚本文件。执行启动命令,如下所示:

    cd ${KE_HOME}/bin
    chmod +x ke.sh 
    ./ke.sh start
    

    之后,当重新启动或停止Kafka Eagle服务器时,执行以下命令:

    ke.sh restart
    ke.sh stop
    

    启动成功:

    Welcome to
        __ __    ___     ____    __ __    ___            ______    ___    ______    __     ______
       / //_/   /   |   / __/   / //_/   /   |          / ____/   /   |  / ____/   / /    / ____/
      / ,<     / /| |  / /_    / ,<     / /| |         / __/     / /| | / / __    / /    / __/   
     / /| |   / ___ | / __/   / /| |   / ___ |        / /___    / ___ |/ /_/ /   / /___ / /___   
    /_/ |_|  /_/  |_|/_/     /_/ |_|  /_/  |_|       /_____/   /_/  |_|\____/   /_____//_____/   
                                                                                                 
    
    Version 2.0.2 -- Copyright 2016-2020
    *******************************************************************
    * Kafka Eagle Service has started success.
    * Welcome, Now you can visit 'http://101.135.13.115:8048'
    * Account:admin ,Password:123456
    *******************************************************************
    * <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
    * <Usage> https://www.kafka-eagle.org/ </Usage>
    *******************************************************************
    

    注意看访问的URL和登录的用户名密码

    7. 登录Eagle

    访问http://101.135.13.115:8048

    image.png image.png image.png

    相关文章

      网友评论

          本文标题:Kafka Eagle 安装

          本文链接:https://www.haomeiwen.com/subject/rueyuktx.html