前段时间,我发现有部分小伙伴们升级了kafka,使用了最新版的kafka来进行消息的传输,但是在使用kafka的相关的命令时,有一些出入,所以这里更新一篇,kafka的客户端使用
官网:https://www.kafka-eagle.org/
文档:https://docs.kafka-eagle.org/
概述:
什么是Kafka-Eagle
兼容性:考虑到不同版本的Kafka设计是不同的,Kafka Eagle设计和实现的兼容新老版本!
效率好:更高效为了更容易地管理和监控主题,部署只需几分钟!
监控方便:用户友好的仪表板,Kafka Eagle可以呈现多图,包括集群和主题仪表板!
模块介绍
- 面板可视化
- 主题管理:包含创建主题、删除主题、主题列举、主题配置、主题查询等
- 消费者应用:对不同消费者应用进行监控,包含Kafka API,Flink AP1, Spark APl, Storm API, FlumeAP1、 LogStash APl等
- 集群管理:包含对Kafka集群和Zookeeper集群的详情展示,其内容包含Kafka启动时间、Kafka端口号、Zookeeper Leader角色等。同时,还有多集群切换管理, Zookeeper Client操作入口
- 集群监控:包含对Broker, Kafka核心指标、Zookeeper核心指标进行监控,并绘制历史趋势图
告警功能:对消费者应用数据积压情况进行告警,以及对Kafka和Zookeeper监控度进行告警。同时,支持邮件、微信、钉钉告警通知系统管理:包含用户创建、用户角色分配、资源访问进行管理
架构描述
可视化:负责展示主感列表、集群健康、消费者应用等
- 采集器:数据采集的来源包含Zookeeper, KafkaJMX&内部Topic, kafka APl (Kafka 2.x以后版本)
- 数据存储:目前Kafka Eagle存储采用MySQL或SQLite,数据库和表的创建均是自动完成的按照官方文档进行配置好,启动Kafka Eagle就会自动创建,用来存储元数据和监控数据
- 监控:负责见消费者应用消费情况、集群健康状态
- 告警:对监控到的异常进行告警通知,支持邮件、微信、钉钉等方式权限
- 管理:对访问用户进行权限管理,对于管理员、开发者、访问者等不同角色的用户,分配不用的访问权限
安装&配置&使用
安装文档:https://www.kafka-eagle.org/articles/docs/installation/linux-macos.html
下载地址:
官网下载:http://download.kafka-eagle.org/
源码下载:https://github.com/smartloli/kafka-eagle
百度云下载:https://pan.baidu.com/s/1DgY98OzMpAnn5Ra7riL5zQ 提取码:1111
安装
解压
tar -zxvf kafka-eagle-bin-1.2.4.tar.gz
mv kafka-eagle-bin-1.2.4 kafka-eagle
cd kafka-eagle
tar -zxvf kafka-eagle-web-1.2.4-bin.tar.gz
cd kafka-eagle-web-1.2.4
目录如下:
drwxr-xr-x. 2 root root 33 Aug 7 11:02 bin ## 可执行文件
drwxr-xr-x. 2 root root 92 Aug 7 11:02 conf ## 配置文件
drwxr-xr-x. 2 root root 6 Aug 20 2018 db ## 数据库配置文件
drwxr-xr-x. 2 root root 23 Aug 7 11:02 font ## 字体文件
drwxr-xr-x. 9 root root 91 Mar 24 2017 kms ## tomcat目录
drwxr-xr-x. 2 root root 6 Jan 25 2018 logs ## 日志文件
配置环境变量
vi /etc/profile
## 以下内容复制进去
export KE_HOME=/usr/kafka/kafka-eagle/kafka-eagle/kafka-eagle-web-1.2.4
export PATH=$PATH:$KE_HOME/bin
## 以下命令执行
source /etc/profile
配置
cd conf
vi system-config.properties
以下为各配置项
######################################
# multi zookeeper&kafka cluster list
# zk 集群和 kafka集群配置 可以配置多个集群, 以逗号隔开,例子中配置了两个集群
# 这里的cluster1 是你的集群别名,后面很多配置都是集群别名加配置
######################################
kafka.eagle.zk.cluster.alias=cluster1,cluster2
cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
######################################
# zk client thread limit
######################################
kafka.zk.limit.size=25
######################################
# kafka eagle webui port
# kafka eagle web段ui的端口
######################################
kafka.eagle.webui.port=8048
######################################
# kafka offset storage
# kafka 偏移量
######################################
cluster1.kafka.eagle.offset.storage=kafka
cluster2.kafka.eagle.offset.storage=zk
######################################
# enable kafka metrics
# Kafka Eagle的监控趋势图 默认不开启
######################################
kafka.eagle.metrics.charts=false
######################################
# alarm email configure
# 告警邮箱配置
######################################
kafka.eagle.mail.enable=true
kafka.eagle.mail.sa=alert_sa
kafka.eagle.mail.username=alert_sa@163.com
kafka.eagle.mail.password=mqslimczkdqabbbh
kafka.eagle.mail.server.host=smtp.163.com
kafka.eagle.mail.server.port=25
######################################
# delete kafka topic token
# 删除kafka eagle的主题标识
######################################
kafka.eagle.topic.token=keadmin
######################################
# kafka sasl authenticate
######################################
kafka.eagle.sasl.enable=false
kafka.eagle.sasl.protocol=SASL_PLAINTEXT
kafka.eagle.sasl.mechanism=PLAIN
######################################
# kafka jdbc driver address
# kafka eagle 信息保存的数据库配置
# kafka默认使用sqlite数据库,Centos自带,注意配置下数据库存放路径就行
######################################
# kafka.eagle.driver=org.sqlite.JDBC
# kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
# kafka.eagle.username=root
# kafka.eagle.password=smartloli
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://8.129.84.57:3306/kafka-eagle?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
kafka.eagle.username=root
kafka.eagle.password=root
注意:如果想查看Kafka Eagle的监控趋势图,需要开启,而默认是不开启的,如果需要开启,还需开启,kafka的JMX端口,Kafka系统默认是没有开启JMX端口的,所以Kafka Eagle的监控趋势图默认采用不启用的方式,即kafka.eagle.metrics.charts=false。如果需要查看监控趋势图,需要开启Kafka系统的JMX端口,设置该端口在$KAFKA_HOME/bin/kafka-server-start.sh脚本中,设置内容如下:
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"
# 这里的端口不一定非要设置成10001,端口只要可用,均可。
export JMX_PORT="10001"
#export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
启动
# 找到对应目录
cd bin
bash ke.sh start
启动成功后样例:
上图说的很明白了
访问地址为:http://你的主机ip或主机名:kafka-eagle的端口号/ke
登录用户为:admin
登录密码为:123456
可能问题
kafka集群连接不上:
可能问题
1、没有启动kafka
2、服务器防火墙没关
3、kafka没有注册到zk
数据库连接不上
可能问题
1、数据库配置有误
2、没有对应的库
3、数据库所在服务器防火墙没关
功能介绍
dashboard
topic
集群概述
kafka和zk的预览
集群监控,这里我只有一个集群
zookeeper命令行