文章目录
- 一、Kafka Eagle 下载、编译流程
- 1. Kafka Eagle下载
- 2. 解压Kafka Eagle
- 3. 进入解压的目录
- 4. 编译项目
- 5. 添加编译环境
- 6. 运行脚本编译项目
- 二、Kafka Eagle 正式配置流程
- 2.1. 进入编译获得web目录
- 2.2. 将编译后的tar解压到/app目录
- 2.3. 在/app目录下面查看
- 2.4. 配置文件总览简述
- 2.5. 配置文件修改
- 三、修改kafka配置
- 3.1. 修改 kafka 启动命令
- 3.2. 同步配置文件到ly-02 ly-03节点
- 3.3. 启动zk集群脚本
- 3.4. 启动kafka集群脚本
- 3.6. 启动kafka eagle
- 四、登录web页面
- 4.1. 浏览器访问
- 4.2. 登录
- 4.2. 登录后页面
一、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/
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 Eagle 正式配置流程
2.1. 进入编译获得web目录
cd /app/software/kafka-eagle-1.4.3/kafka-eagle-web/target
2.2. 将编译后的tar解压到/app目录
tar -zxvf kafka-eagle-web-1.4.3-bin.tar.gz -C /app/
2.3. 在/app目录下面查看
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
修改第2处 第20行
配置zk集群信息
cluster1.kafka.eagle.offset.storage=kafka
修改第3处 第30行
开启仪表盘显示
kafka.eagle.metrics.charts=true
修改第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配置
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 之前要分发或者同步到其他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"
donesleep 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
附上:zk停止命令
./zkmanage.sh stop
3.4. 启动kafka集群脚本
./kk-start.sh
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
注:低版本号好像需要赋予权限
chmod u+x ke.sh
运行脚本后截图
四、登录web页面
4.1. 浏览器访问
http://192.168.43.32:8048/ke
账号/密码:admin/123456
4.2. 登录
4.2. 登录后页面