前段时间,我发现有部分小伙伴们升级了kafka,使用了最新版的kafka来进行消息的传输,但是在使用kafka的相关的命令时,有一些出入,所以这里更新一篇,kafka的客户端使用
官网:https://www.kafka-eagle.org/
文档:https://docs.kafka-eagle.org/

概述:

什么是Kafka-Eagle

image.png
兼容性:考虑到不同版本的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
image.png

安装

下载后,将文件放在对应文件夹进行解压即可

解压

  1. tar -zxvf kafka-eagle-bin-1.2.4.tar.gz
  2. mv kafka-eagle-bin-1.2.4 kafka-eagle
  3. cd kafka-eagle
  4. tar -zxvf kafka-eagle-web-1.2.4-bin.tar.gz
  5. cd kafka-eagle-web-1.2.4

目录如下:

  1. drwxr-xr-x. 2 root root 33 Aug 7 11:02 bin ## 可执行文件
  2. drwxr-xr-x. 2 root root 92 Aug 7 11:02 conf ## 配置文件
  3. drwxr-xr-x. 2 root root 6 Aug 20 2018 db ## 数据库配置文件
  4. drwxr-xr-x. 2 root root 23 Aug 7 11:02 font ## 字体文件
  5. drwxr-xr-x. 9 root root 91 Mar 24 2017 kms ## tomcat目录
  6. drwxr-xr-x. 2 root root 6 Jan 25 2018 logs ## 日志文件

配置环境变量

  1. vi /etc/profile
  2. ## 以下内容复制进去
  3. export KE_HOME=/usr/kafka/kafka-eagle/kafka-eagle/kafka-eagle-web-1.2.4
  4. export PATH=$PATH:$KE_HOME/bin
  5. ## 以下命令执行
  6. 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

启动成功后样例:
image.png
上图说的很明白了
访问地址为:http://你的主机ip或主机名:kafka-eagle的端口号/ke
登录用户为:admin
登录密码为:123456

可能问题

image.png

kafka集群连接不上:

可能问题
1、没有启动kafka
2、服务器防火墙没关
3、kafka没有注册到zk
image.png

数据库连接不上

可能问题
1、数据库配置有误
2、没有对应的库
3、数据库所在服务器防火墙没关

功能介绍

dashboard

可以看到broke 消息量 消费者组image.png

topic

可以创建一个主题
image.png
查询topic列表
image.png
消息查询
image.png
消息模拟
image.png

集群概述

kafka和zk的预览
image.png
集群监控,这里我只有一个集群
image.png
zookeeper命令行
image.png