Kafka 监控 Kafka Eagle 图形化版本_sqlite

文章目录

一、Kafka Eagle 下载、编译流程

1. Kafka Eagle下载

wget https://github.com/smartloli/kafka-eagle/archive/v1.4.3.tar.gz

2. 解压Kafka Eagle

tar -zxf v1.4.3.tar.gz

3. 进入解压的目录

cd kafka-eagle-1.4.3/

Kafka 监控 Kafka Eagle 图形化版本_kafka_02

4. 编译项目

前提:​​Centos7 安装maven​​,如果没有安装,请点击链接,先安装maven。

5. 添加编译环境

不添加会抛出以下错误

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project kafka-eagle-common: Compilation failure: Compilation failure: 
[ERROR] /usr/local/src/kafka/kafka-eagle/kafka-eagle-common/src/main/java/org/smartloli/kafka/eagle/common/util/KafkaZKPoolUtils.java:[44,84] diamond operator is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable diamond operator)

按照大神的说法,修改pom.xml文件,在最后一行之前添加以下内容:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

6. 运行脚本编译项目

./build.sh

Kafka 监控 Kafka Eagle 图形化版本_kafka_03


编译后成功的截图:

Kafka 监控 Kafka Eagle 图形化版本_kafka_04

二、Kafka Eagle 正式配置流程

2.1. 进入编译获得web目录

cd /app/software/kafka-eagle-1.4.3/kafka-eagle-web/target

Kafka 监控 Kafka Eagle 图形化版本_kafka_05

2.2. 将编译后的tar解压到/app目录

tar -zxvf kafka-eagle-web-1.4.3-bin.tar.gz -C /app/

Kafka 监控 Kafka Eagle 图形化版本_kafka监控_06

2.3. 在/app目录下面查看

Kafka 监控 Kafka Eagle 图形化版本_kafka监控_07

2.4. 配置文件总览简述

cd /app/kafka-eagle-web-1.4.3/conf
vim system-config.properties
######################################
#设置Kafka多集群,这里只需要设置Zookeeper,
# 系统会自动识别Kafka Broker
# multi zookeeper & kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=ly-01:2181,ly-02:2181,ly-03:2181

######################################
#Zookeeper线程池最大连接数
# zk client thread limit
######################################
kafka.zk.limit.size=25

######################################
# Kafka Eagle的页面访问端口
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048

######################################
# 存储消费信息的类型,一般在0.9版本之前,消费
# 信息会默认存储在Zookeeper中,所以存储类型
# 设置zookeeper即可,如果是在0.10版本之后,
# 消费者信息默认存储在Kafka中,所以存储类型
# 设置为kafka。而且,在使用消费者API时,尽量
# 客户端Kafka API版本和Kafka服务端的版本保持
# 一致性。
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka

######################################
# 开启性能监控,数据默认保留30天
# kafka metrics, 30 days by default
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=30


######################################
# KSQL查询Topic数据默认是最新的5000条,如果
# 在使用KSQL查询的过程中出现异常,可以将下面
# 的false属性修改为true,Kafka Eagle会在
# 系统中自动修复错误。
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=false

######################################
# delete kafka topic token
######################################
# 删除Kafka Topic时需要输入删除密钥,由
# 管理员执行
######################################
kafka.eagle.topic.token=keadmin
######################################
# 开启Kafka ACL特性,例如SCRAM或者PLAIN,
# 一般生产环境会使用SCRAM来做ACL,应为SCRAM
# 可以动态创建和管理用户。
# 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.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.sasl.cgroup.enable=false
cluster2.kafka.eagle.sasl.cgroup.topics=

######################################
# 存储Kafka Eagle元数据信息的数据库,目前支持
# MySQL和Sqlite,默认使用Sqlite进行存储
# 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 Eagle元数据信息的数据库,目前支持
# MySQL和Sqlite,默认使用Sqlite进行存储
# 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=root

2.5. 配置文件修改

cd /app/kafka-eagle-web-1.4.3/conf
vim system-config.properties

第1处 第4行
配置zk集群信息

kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=ly-01:2181,ly-02:2181,ly-03:2181

Kafka 监控 Kafka Eagle 图形化版本_sqlite_08


修改第2处 第20行

配置zk集群信息

cluster1.kafka.eagle.offset.storage=kafka

Kafka 监控 Kafka Eagle 图形化版本_kafka监控_09


修改第3处 第30行

开启仪表盘显示

kafka.eagle.metrics.charts=true

Kafka 监控 Kafka Eagle 图形化版本_kafka_10


修改第4处 注释第67行 至70行

关闭 默认使用Sqlite进行存储

开启存储Kafka Eagle元数据信息的MySQL数据库,

kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroD ateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=root

Kafka 监控 Kafka Eagle 图形化版本_kafka_11

三、修改kafka配置

3.1. 修改 kafka 启动命令

修改 ​​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="-server -Xms2G -Xmx2G -XX:PermSize=128m
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -
XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
export JMX_PORT="9999"
#export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

Kafka 监控 Kafka Eagle 图形化版本_kafka_12


注意:修改之后在启动 Kafka 之前要分发或者同步到其他2个节点

3.2. 同步配置文件到ly-02 ly-03节点

scp /app/kafka/bin/kafka-server-start.sh root@ly-02:/app/kafka/bin
scp /app/kafka/bin/kafka-server-start.sh root@ly-03:/app/kafka/bin

3.3. 启动zk集群脚本

./zkmanage.sh start

脚本内容:

#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1ing....."
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh $1"
done

sleep 2
for host in ly-01 ly-02 ly-03
do
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh status"
done

Kafka 监控 Kafka Eagle 图形化版本_kafka_13


附上:zk停止命令

./zkmanage.sh stop

3.4. 启动kafka集群脚本

./kk-start.sh

Kafka 监控 Kafka Eagle 图形化版本_kafka监控_14


kafka启动脚本内容:

#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1 kafka starting....."
ssh $host "source /etc/profile;/app/kafka/bin/kafka-server-start.sh -daemon /app/kafka/config/server.properties"
done

kafka 关闭集群 脚本内容:

#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1 kafka stopping....."
ssh $host "source /etc/profile;/app/kafka/bin/kafka-server-stop.sh /app/kafka/config/server.properties"
done

3.6. 启动kafka eagle

cd /app/kafka-eagle-web-1.4.3/bin
./ke.sh start

Kafka 监控 Kafka Eagle 图形化版本_sqlite_15


注:低版本号好像需要赋予权限

chmod u+x ke.sh

运行脚本后截图

Kafka 监控 Kafka Eagle 图形化版本_sqlite_16

四、登录web页面

4.1. 浏览器访问

​http://192.168.43.32:8048/ke​​ 账号/密码:admin/123456

4.2. 登录

Kafka 监控 Kafka Eagle 图形化版本_kafka监控_17

4.2. 登录后页面

Kafka 监控 Kafka Eagle 图形化版本_kafka监控_18


Kafka 监控 Kafka Eagle 图形化版本_kafka监控_19