Heycm

Heycm

Kafka集群监控工具Kafka-eagle

MQ
397
2022-02-07

Kafka集群监控工具kafka-eagle安装使用

heycm.online · 2022年1月21日 16点15分

写在前面

  1. 此工具是开源工具,GitHub上截至目前只有2.3kStar,可能会存在一些BUG,建议使用者及时跟进新版本信息。

  2. 此教程将使用docker部署kafka-eagle程序,不适用于直接安装在Linux服务器的方式,更多安装方式请参考官方文档

  3. 本文默认目标服务器已拥有docker环境

制作镜像

下载软件包

官方下载连接在本文附录,点击Direct File Download即可下载软件kafka-eagle-bin-2.0.9.tar.gz

上传到服务器/data/soft目录

[root@linux soft]# pwd
/data/soft
[root@linux soft]# ll
总用量 79184
-rw-r--r--. 1 root root 81082706 1月  21 16:49 kafka-eagle-bin-2.0.9.tar.gz

解压缩

# 第一次解压缩
tar -zxvf kafka-eagle-bin-2.0.9.tar.gz

将解压得到的另一个压缩文件拷贝到/data/soft/build目录,随后将在build目录构建docker镜像

# 创建build目录
mkdir ./build
# 拷贝软件到build
cp kafka-eagle-bin-2.0.9/efak-web-2.0.9-bin.tar.gz build/

jdk8软件包也上传到build目录

[root@linux build]# pwd
/data/soft/build
[root@linux build]# ll
总用量 220712
-rw-r--r--. 1 root root  81069723 1月  21 17:02 efak-web-2.0.9-bin.tar.gz
-rw-r--r--. 1 root root 144935989 1月  21 17:05 jdk-8u291-linux-x64.tar.gz

新建编写 Dockerfile

build目录下新建文件 vi Dockerfile ,写入以下内容并保存

FROM centos

RUN mkdir /data
WORKDIR /data

ADD jdk-8u291-linux-x64.tar.gz /data
ADD efak-web-2.0.9-bin.tar.gz /data

RUN mv /data/jdk1.8.0_291 /data/jdk8
RUN mv /data/efak-web-2.0.9 /data/kafka-eagle

ENV TZ "Asia/Shanghai"
ENV KE_HOME /data/kafka-eagle
ENV JAVA_HOME /data/jdk8
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$KE_HOME/bin

RUN mkdir -p /hadoop/kafka-eagle/db
RUN chmod -R 755 /hadoop/kafka-eagle/db
RUN chmod +x /data/kafka-eagle/bin/ke.sh

CMD ["bash","-c","/data/kafka-eagle/bin/ke.sh start && tail -f /dev/null"]

此时,build目录下共有三个文件

[root@linux build]# ll
总用量 220716
-rw-r--r--. 1 root root       611 1月  21 17:09 Dockerfile
-rw-r--r--. 1 root root  81069723 1月  21 17:02 efak-web-2.0.9-bin.tar.gz
-rw-r--r--. 1 root root 144935989 1月  21 17:05 jdk-8u291-linux-x64.tar.gz

打包镜像

打包前先拉取底层镜像

docker pull centos

build目录下执行打包命令

docker build -t kafka-eagle:2.0.9 .

输出以下信息即表示打包成功

Successfully built 7b4375a1b04c
Successfully tagged kafka-eagle:2.0.9

启动容器

新建kafka-eagle数据卷目录,建议做在数据盘

conf目录为配置文件目录

db目录为数据存储目录

# 创建目录
mkdir -p /data/kafka-eagle/conf /data/kafka/db
# 授权
chmod -R 755 /data/kafka/db

拷贝配置文件

配置文件需要从压缩包efak-web-2.0.9-bin.tar.gz里提取

build目录下先解压缩

tar -zxvf efak-web-2.0.9-bin.tar.gz

解压后,配置文件在efak-web-2.0.9/conf目录下,拷贝到kafka-eagle映射目录下

cp efak-web-2.0.9/conf/* /data/kafka-eagle/conf

修改配置文件

/data/kafka-eagle/conf目录下,修改配置文件system-config.properties以下配置项,其他配置项保持默认设置

# zookeeper 集群配置
efak.zk.cluster.alias=cluster1
cluster1.zk.list=192.168.100.191:2181,192.168.100.192:2181,192.168.100.193:2181

# 打开sqlite存储
efak.driver=org.sqlite.JDBC
efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
efak.username=root
efak.password=qweasd...

# 注释mysql存储
#efak.driver=com.mysql.cj.jdbc.Driver
#efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#efak.username=root
#efak.password=123456

启动容器

docker run -d --net=host --name kafka-eagle \
-v /data/kafka-eagle/conf:/data/kafka-eagle/conf \
-v /data/kafka-eagle/db:/hadoop/kafka-eagle/db
kafka-eagle:2.0.9

访问地址,默认端口号8048

防火墙开发8048,然后访问 http://ip:8048

默认用户是admin,默认密码是123456,可以在容器控制台日志输出查看

附录

EFAK.Docs

EFAK.Download

EFAK.Github