0


EFAK(Kafka Eagle)安装带有Kafka\Zookeeper认证

目录

一、环境

  • 华为云服务器CentOS6.10(CentOS7也可以)
  • Kafka2.12-2.2.2
  • EFAK(Kafka Eagle) 3.0.1 官网最新版本
  • Zookeeper 3.6.3
  • JDK 8
  • MySQL 5.7

UI界面

二、安装MySQL

Kafka Eagle支持SQLite和MySQL,本次使用MySQL5.7,安装步骤不详解,参考docker安装MySQL8.0.28

tips:建议使用5.7,许多文章都提到了8.0使用会有问题,没有使用8.0来做数据库未遇到相关问题

创建数据库ke,Kafka Eagle用于存储元数据

MySQL > create database ke;

三、安装Kafka Eagle

下载Kafka Eagle

kafka-eagle官方下载地址

本次下载版本: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

配置Zookeeper地址

kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=hostname:2181  #多个用逗号隔开

注意:部分kafka设置会把信息存储到hostname:2181/kafka下,根据kafka中配置得zookeeper.connect连接地址确定

配置MySQL

将 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认证

如果开启了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

配置Kafka认证

  • cluster1.efak.sasl.enable设置为true
  • protocol、mechanism、jaas.config 根据kafka中配置的对应
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=

配置JMX

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 Settings的位置 - 追加 -Djava.rmi.server.hostname=hostname(你的ip地址)
  • 找到JMX port to use 的位置 - 注释原来的配置,并添加如下配置- JMX_PORT=9999JMX_RMI_PORT=9998ISKAFKASERVER="false"if [[ "$*" =~ "kafka.Kafka" ]]; then ISKAFKASERVER="true"fiif [ $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_OPTSfi

网络配置

端口

  • 8048:Kafka Eagle UI所需要的访问端口
  • 9999:JMX
  • 9998:JMX RMI
  • 3306:MySQL
  • 8085:Kafka Eagle Server 端口 可以在配置中修改该端口(测试不打开暂时没发现问题,保险起见可以打开该端口)
  • 2181:Zookeeper端口
  • 9092:Kafka端口

以上这些端口都需要打开,怎么打开端口可以参考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

四、启动Kafka Eagle

  • 进入bin目录,并启动
cd ${KE_HOME}/bin

./ke.sh start  #包含stop status等等
  • 启动完成会有success提示,部署结束!

参考

Kafka监控EFAK Kafka Eagle安装教程

标签: kafka zookeeper

本文转载自: https://blog.csdn.net/qq_44298534/article/details/134859555
版权归原作者 good_1uck 所有, 如有侵权,请联系我们删除。

“EFAK(Kafka Eagle)安装带有Kafka\Zookeeper认证”的评论:

还没有评论