美文网首页我爱编程
kafka eagle安装部署

kafka eagle安装部署

作者: Big_dimple | 来源:发表于2018-06-02 17:37 被阅读242次

    kafka安装部署教程

    公司目前有几套kafka集群,但是没有相关的监控来查看topic,流量等信息。
    虽然公司用的是zabbix监控,但是我从网上搞得模板不是很好用,显示不是很友好。
    于是网上查了几个监控,比较好用的是kafka-eagle,
    网上的教程有好几个。虽然安装简单,但是感觉不是很完整,
    而且自己安装的时候遇到了很多坑,所以写个详细的文档来记录一下。
    
    1.kafka+zookeeper准备
    这里假设你已经把kafka+zookeeper安装完成,但是需要注意的几点是:
    1.kafka需要开启JMX端口
        找到kafka安装路径,进入到bin文件夹,修改下面的地方。
        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
    ...
        参考链接:[kafka添加jmx端口]:https://ke.smartloli.org/3.Manuals/11.Metrics.html
    
    2.了解kafka在zookeeper配置
        需要查看kafka的server.properties配置
        找到zookeeper.connect此项配置,这个是要配置到eagle里面的
        此处假设zookeeper.connect=192.168.18.11:2181,192.168.18.12:2181,192.168.18.13:2181
        !!!PS:此处踩了坑,如果说这里的zookeeper地址后面加了其他路径,在kafka-eagle里面也要配置,
        否则在kafka-eagle的Dashboard中无法读取到kafka的信息。比如我们有人安装的kafka集群里面就有    
        192.168.18.11:2181/kafka1或者192.168.18.11:2181/kafka2这种地址。
        如果你在安装kafka的时候没有配置多余路径,这样是最好的,如果有一定要加上。
    3.连通性测试
      安装kafka-eagle的服务器,一定要提前测试是否能连接kafka注册的zookeeper端口
      telnet 端口进行测试
    
    2.JDK环境准备
    此处就忽略不说了,kafka既然会安装,也是依赖JDK环境的。版本没要求,但是最好是1.7以上。
    echo $JAVA_HOME
    测试一下JDK环境是否安装成功
    
    3.开始安装kafka-eagle
    1.下载安装包
    软件安装目录建议按照自己的规范来,以后好找
    cd /tmp
    wget https://github.com/smartloli/kafka-eagle-bin/archive/v1.2.2.tar.gz
    tar zxf v1.2.2.tar.gz
    cd kafka-eagle-bin-1.2.2
    tar zxf kafka-eagle-web-1.2.2-bin.tar.gz -C /data/app/
    cd /data/app
    mv kafka-eagle-web-1.2.2 kafka-eagle
    
    2.环境配置
    vi /etc/profile
    export KE_HOME=/data/app/kafka-eagle
    export PATH=$PATH:$KE_HOME/bin
    ps:此处的KE_HOME按照自己实际安装的目录来,我安装在/data/app/kafka-eagle下面
    如果你是安装的其他目录,别忘了修改。
    
    3.配置修改
    cd ${KE_HOME}/conf
    vi system-config.properties
    
    # multi zookeeper&kafka cluster list -- The client connection address of the Zookeeper cluster is set here
    #如果只有一个集群的话,就写一个cluster1就行了
    kafka.eagle.zk.cluster.alias=cluster1,cluster2   
    #这里填上刚才上准备工作中的zookeeper.connect地址
    cluster1.zk.list=192.168.18.11:2181,192.168.18.12:2181,192.168.18.13:2181
    #如果多个集群,继续写,如果没有注释掉
    cluster2.zk.list=192.168.18.21:2181,192.168.18.22:2181,192.168.18.23:2181/kafka 
    
    # zk limit -- Zookeeper cluster allows the number of clients to connect to
    kafka.zk.limit.size=25
    
    # kafka eagel webui port -- WebConsole port access address
    kafka.eagle.webui.port=8048     ###web界面地址端口
    
    # kafka offset storage -- Offset stored in a Kafka cluster, if stored in the zookeeper, you can not use this option
    kafka.eagle.offset.storage=kafka
    
    # delete kafka topic token -- Set to delete the topic token, so that administrators can have the right to delete
    kafka.eagle.topic.token=keadmin
    
    # kafka sasl authenticate, current support SASL_PLAINTEXT
    #如果kafka开启了sasl认证,需要在这个地方配置sasl认证文件
    kafka.eagle.sasl.enable=false
    kafka.eagle.sasl.protocol=SASL_PLAINTEXT
    kafka.eagle.sasl.mechanism=PLAIN
    kafka.eagle.sasl.client=/data/kafka-eagle/conf/kafka_client_jaas.conf
    
    #下面两项是配置数据库的,默认使用sqlite,如果量大,建议使用mysql,这里我使用的是sqlit
    #如果想使用mysql建议在文末查看官方文档
    # Default use sqlite to store data
    kafka.eagle.driver=org.sqlite.JDBC
    # It is important to note that the '/hadoop/kafka-eagle/db' path must exist.
    kafka.eagle.url=jdbc:sqlite:/data/app/kafka-eagle/db/ke.db   #这个地址,按照安装目录进行配置
    kafka.eagle.username=root
    kafka.eagle.password=smartloli
    
    # <Optional> set mysql 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=smartloli
    
    如果开启了sasl认证,需要自己去修改kafka-eagle目录下的conf/kafka_client_jaas.conf
    此处不多说
    
    4.启动kafka-eagle
      cd ${KE_HOME}/bin
      chmod +x ke.sh
      ./ke.sh start
      查看日志是否出问题
      tailf ../log/log.log
      如果没问题,则直接登录
      http://host:8048/ke
      默认用户名:admin
      默认密码:12345
      如果进入到一下界面,就说明你安装成功了!
    
    image.png

    问题汇总

    1.ZKPoolUtils.localhost-startStop-1 - ERROR - Unable to connect to zookeeper server within timeout: 100000
    这个是网络问题,在kafka-eagle服务器上自己测试一下能否能telnet通配置的zk地址。
    cat system-config.properties|grep cluster1.zk.list
    测试这个配置的端口
    
    2.ERROR - Get kafka consumer has error,msg is No resolvable bootstrap urls given in bootstrap.servers
    这个问题是配置的zk地址有问题,看看kafka配置的zk地址
    跟自己在eagle上配置的地址是否相同,有没有少目录或者端口配置。
    可以看看文章开头,kafka+zookeeper准备-了解kafka在zookeeper配置
    
    3. zookeeper state changed (AuthFailed)
    这个问题有两种情况
    1.认证的问题,确认你配置的认证文件是否正确
    2.zk地址问题,看看kafka配置的zk地址,跟自己在eagle上配置的地址是否相同
    可以看看文章开头,kafka+zookeeper准备-了解kafka在zookeeper配置
    

    kafka-eagle使用

    官方文档给出了很多说明,这个大家可以自己去看,下面有个哥不是小萝莉的文章写得也很好。
    

    参考链接:
    [kafka-eagle官方文档]:https://ke.smartloli.org/2.Install/2.Installing.html
    [kafka-eagle下载地址]:http://download.smartloli.org/
    [kafka-eagle git地址]:https://github.com/smartloli/kafka-eagle
    [kafka-eagle-哥不是小萝莉参考文档]:https://www.cnblogs.com/smartloli/p/5829395.html

    相关文章

      网友评论

        本文标题:kafka eagle安装部署

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