赞
踩
kafka Map、kafka eagle、Know Streaming、Kafka-UI四款UI工具部署测试
多集群管理
集群状态监控(分区数量、副本数量、存储大小、offset)
主题创建、删除、扩容(删除需配置delete.topic.enable = true)
broker状态监控
消费者组查看、删除
重置offset
消息查询(支持String和json方式展示)
发送消息(支持向指定的topic和partition发送字符串消息)
延迟消息(通过扩展使kafka支持18个级别的延迟消息)
https://gitee.com/dushixiang/kafka-map
可直接使用docker方式安装
docker run -d \
-p 8080:8080 \
-v /opt/kafka-map/data:/usr/local/kafka-map/data \
-e DEFAULT_USERNAME=admin \
-e DEFAULT_PASSWORD=admin \
--name kafka-map \
--restart always dushixiang/kafka-map:latest
访问地址:http://ip:8080
账号/密码:admin/admin
功能齐全,国内某公司做的开源产品
下载kafka-eagle的安装包
https://github.com/smartloli/kafka-eagle-bin/releases
下载完成后将kafka-eagle
解压到指定目录;
cd /mydata/kafka/
tar -zxvf kafka-eagle-web-2.0.5-bin.tar.gz
在/etc/profile
文件中添加环境变量KE\_HOME
;
vi /etc/profile
#在profile文件中添加
export KE_HOME=/mydata/kafka/kafka-eagle-web-2.0.5
export PATH=$PATH:$KE_HOME/bin
#使修改后的profile文件生效
source /etc/profile
安装MySQL并添加数据库ke
,kafka-eagle
之后会用到它;
修改配置文件$KE\_HOME/conf/system-config.properties
,主要是修改Zookeeper的配置和数据库配置,注释掉sqlite配置,改为使用MySQL;
###################################### # multi zookeeper & kafka cluster list ###################################### kafka.eagle.zk.cluster.alias=cluster1 cluster1.zk.list=localhost:2181 ###################################### # kafka eagle webui port ###################################### kafka.eagle.webui.port=8048 ###################################### # 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 mysql jdbc driver address ###################################### kafka.eagle.driver=com.mysql.cj.jdbc.Driver kafka.eagle.url=jdbc:mysql://localhost:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull kafka.eagle.username=root kafka.eagle.password=root
使用如下命令启动kafka-eagle
;
$KE_HOME/bin/ke.sh start
命令执行完成后会显示如下信息,但并不代表服务已经启动成功,还需要等待一会;
再介绍几个有用的kafka-eagle
命令:
# 停止服务
$KE_HOME/bin/ke.sh stop
# 重启服务
$KE_HOME/bin/ke.sh restart
# 查看服务运行状态
$KE_HOME/bin/ke.sh status
# 查看服务状态
$KE_HOME/bin/ke.sh stats
# 动态查看服务输出日志
tail -f $KE_HOME/logs/ke_console.out
启动成功可以直接访问,输入账号密码admin:123456
,
访问地址:http://IP:8048/
有社区版、企业版和云服务版,功能齐全
https://gitcode.net/mirrors/didi/LogiKM/-/tree/master
version: "2" services: # *不要调整knowstreaming-manager服务名称,ui中会用到 knowstreaming-manager: image: knowstreaming/knowstreaming-manager:latest container_name: knowstreaming-manager privileged: true restart: always depends_on: - elasticsearch-single - knowstreaming-mysql expose: - 80 command: - /bin/sh - /ks-start.sh environment: TZ: Asia/Shanghai # mysql服务地址 SERVER_MYSQL_ADDRESS: knowstreaming-mysql:3306 # mysql数据库名 SERVER_MYSQL_DB: know_streaming # mysql用户名 SERVER_MYSQL_USER: root # mysql用户密码 SERVER_MYSQL_PASSWORD: admin2022_ # es服务地址 SERVER_ES_ADDRESS: elasticsearch-single:9200 # 服务JVM参数 JAVA_OPTS: -Xmx1g -Xms1g # 对于kafka中ADVERTISED_LISTENERS填写的hostname可以通过该方式完成 # extra_hosts: # - "hostname:x.x.x.x" # 服务日志路径 # volumes: # - /ks/manage/log:/logs knowstreaming-ui: image: knowstreaming/knowstreaming-ui:latest container_name: knowstreaming-ui restart: always ports: - '80:80' environment: TZ: Asia/Shanghai depends_on: - knowstreaming-manager # extra_hosts: # - "hostname:x.x.x.x" elasticsearch-single: image: docker.io/library/elasticsearch:7.6.2 container_name: elasticsearch-single restart: always expose: - 9200 - 9300 # ports: # - '9200:9200' # - '9300:9300' environment: TZ: Asia/Shanghai # es的JVM参数 ES_JAVA_OPTS: -Xms512m -Xmx512m # 单节点配置,多节点集群参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docker.html#docker-compose-file discovery.type: single-node # 数据持久化路径 # volumes: # - /ks/es/data:/usr/share/elasticsearch/data # es初始化服务,与manager使用同一镜像 # 首次启动es需初始化模版和索引,后续会自动创建 knowstreaming-init: image: knowstreaming/knowstreaming-manager:latest container_name: knowstreaming-init depends_on: - elasticsearch-single command: - /bin/bash - /es_template_create.sh environment: TZ: Asia/Shanghai # es服务地址 SERVER_ES_ADDRESS: elasticsearch-single:9200 knowstreaming-mysql: image: knowstreaming/knowstreaming-mysql:latest container_name: knowstreaming-mysql restart: always environment: TZ: Asia/Shanghai # root 用户密码 MYSQL_ROOT_PASSWORD: admin2022_ # 初始化时创建的数据库名称 MYSQL_DATABASE: know_streaming # 通配所有host,可以访问远程 MYSQL_ROOT_HOST: '%' expose: - 3306 # ports: # - '3306:3306' # 数据持久化路径 # volumes: # - /ks/mysql/data:/data/mysql
部署启动
docker-compose -f docker-compose.yml up -d
访问:地址:http://IP/
账号/密码:admin/admin
该UI的特点是简洁易用,没有太多花里胡哨的功能,而且界面显示友好。虽然功能比较简单,但是对于开发和测试已经足够了。建议使用
https://gitcode.net/mirrors/provectus/kafka-ui
可直接使用docker方式部署
docker run -p 8080:8080 \
-e KAFKA_CLUSTERS_0_NAME=local \
-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092 \
-d provectuslabs/kafka-ui:latest
访问地址:http://localhost:8080.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。