赞
踩
Kafka Eagle支持SQLite和MySQL,本次使用MySQL5.7,安装步骤不详解,参考docker安装MySQL8.0.28
tips:建议使用5.7,许多文章都提到了8.0使用会有问题,没有使用8.0来做数据库未遇到相关问题
创建数据库ke,Kafka Eagle用于存储元数据
MySQL > create database ke;
本次下载版本:V3.0.1,直接官网下载即可,并上传到服务器中,并解压。
- cd /opt/software
- tar -zxvf kafka-eagle-bin-3.0.1.tar.gz
-
- cd kafka-eagle-bin-3.0.1
- tar -zxvf efak-web-3.0.1-bin.tar.gz -C /opt/module/kafka-eagle
- mv kafka-eagle-web-3.0.1 efak
- vim /etc/profile
- export KE_HOME=/opt/module/kafka-eagle/efak
- export PATH=$PATH:$KE_HOME/bin
- source /etc/profile
- #进入efak配置文件
- cd ${KE_HOME}/conf
-
- vim system-config.properties
- kafka.eagle.zk.cluster.alias=cluster1
- cluster1.zk.list=hostname:2181 #多个用逗号隔开
注意:部分kafka设置会把信息存储到hostname:2181/kafka下,根据kafka中配置得zookeeper.connect连接地址确定
将 kafka sqlite jdbc driver address 相关配置注释,打开 kafka mysql jdbc driver address注释
- kafka.eagle.driver=com.mysql.cj.jdbc.Driver
- kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
- #MySQL密码
- kafka.eagle.username=root
- kafka.eagle.password=123456
如果开启了zookeeper认证的话,需要配置此项,未开启跳过即可。
username、password在zookeeper的配置中查看
- cluster1.zk.acl.enable=true #把false修改为true
- cluster1.zk.acl.schema=digest
- cluster1.zk.acl.username=test
- cluster1.zk.acl.password=test123
- cluster1.efak.sasl.enable=true #false修改为true
- cluster1.efak.sasl.protocol=SASL_PLAINTEXT
- cluster1.efak.sasl.mechanism=PLAIN
- cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-password";
- cluster1.efak.sasl.client.id=
- cluster1.efak.blacklist.topics=
- cluster1.efak.sasl.cgroup.enable=false
- cluster1.efak.sasl.cgroup.topics=
Kafka Eagle需要使用JMX来对Kafka完成一些数据收集,需要确保Kafka开启了JMX、并打开了对应的端口
这里重点几个配置:开启JMX、设置JMX远程连接端口、设置JMX的服务绑定IP、设置JMX远程RMI通信端口,分别为以下4个配置
rmi端口如果不配的话则是随机端口,对于正常来说一般会开启防火墙,所以需要指定端口
- -Dcom.sun.management.jmxremote
- -Dcom.sun.management.jmxremote.port=9999 #端口不固定,可以设置为其他
- -Djava.rmi.server.hostname=172.26.117.190
- -Dcom.sun.management.jmxremote.rmi.port=9998 #端口不固定,可以设置为其他
进入kafka的kafka-run-class.sh中
- #进入kafka/bin kafka位置/bin
- cd /yourKafkaPath/bin
-
- vim kafka-run-class.sh
- JMX_PORT=9999
- JMX_RMI_PORT=9998
- ISKAFKASERVER="false"
- if [[ "$*" =~ "kafka.Kafka" ]]; then
- ISKAFKASERVER="true"
- fi
- if [ $JMX_PORT ] && [ "true" == "$ISKAFKASERVER" ]; then
- KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote.rmi.port=$JMX_RMI_PORT "
- echo set KAFKA_JMX_PORT:$KAFKA_JMX_OPTS
- fi
以上这些端口都需要打开,怎么打开端口可以参考CentOS7.6端口、防火墙设置
CentOS 6 使用iptables
- vim /etc/sysconfig/iptables
- #添加下面配置 8080修改为所需要的端口
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-
- # wq保存并退出
-
- #重启服务
- /etc/init.d/iptables restart
- cd ${KE_HOME}/bin
-
- ./ke.sh start #包含stop status等等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。