Introducción a la implementación de la herramienta Kafka UI
Pruebas de implementación de cuatro herramientas de interfaz de usuario: kafka Map, kafka eagle, Know Streaming y Kafka-UI
1. Mapa de Kafka
-
Gestión de múltiples clústeres
-
Monitoreo del estado del clúster (número de particiones, número de copias, tamaño de almacenamiento, compensación)
-
Creación, eliminación y expansión de temas (la eliminación requiere configuración delete.topic.enable = true)
-
monitoreo del estado del corredor
-
Ver y eliminar grupos de consumidores
-
restablecer compensación
-
Consulta de mensajes (admite visualización de cadenas y json)
-
Enviar un mensaje (admite el envío de mensajes de cadena al tema y partición especificados)
-
Mensajes retrasados (ampliados para permitir que Kafka admita 18 niveles de mensajes retrasados)
https://gitee.com/dushixiang/kafka-map
Se puede instalar directamente usando 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
Dirección de acceso: http://ip:8080
Cuenta/contraseña: admin/admin
2、kafka-águila
Totalmente funcional, un producto de código abierto fabricado por una empresa nacional.
Descargue el paquete de instalación de kafka-eagle
https://github.com/smartloli/kafka-eagle-bin/releases
-
Una vez completada la descarga,
kafka-eagle
se descomprimirá en el directorio especificado;cd /mydata/kafka/ tar -zxvf kafka-eagle-web-2.0.5-bin.tar.gz
-
/etc/profile
Agregue variables de entorno al archivoKE\_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
-
Instale MySQL y agregue una base de datos
ke
,kafka-eagle
que se utilizará más adelante; -
Modificar el archivo de configuración
$KE\_HOME/conf/system-config.properties
, principalmente modificar la configuración de Zookeeper y la configuración de la base de datos, comentar la configuración de sqlite y usar MySQL en su lugar;###################################### # 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
-
Utilice el siguiente comando para comenzar
kafka-eagle
;$KE_HOME/bin/ke.sh start
-
Después de ejecutar el comando, se mostrará la siguiente información, pero eso no significa que el servicio se haya iniciado exitosamente, aún debe esperar un rato;
-
Aquí hay algunos
kafka-eagle
comandos más útiles:# 停止服务 $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
-
Después de un inicio exitoso, puede acceder directamente e ingresar su cuenta y contraseña
admin:123456
. -
Dirección de acceso: http://IP:8048/
3. Transmisión de Didi Know
Hay edición comunitaria, edición empresarial y edición de servicio en la nube, con funciones completas.
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
Comienza la implementación
docker-compose -f docker-compose.yml up -d
Acceso: Dirección: http://IP/
Cuenta/contraseña: admin/admin
4. Interfaz de usuario Kafka
La interfaz de usuario se caracteriza por ser simple y fácil de usar, sin demasiadas campanas ni silbidos, y la interfaz es fácil de usar. Aunque la función es relativamente simple, es suficiente para el desarrollo y las pruebas. Recomendado
https://gitcode.net/mirrors/provectus/kafka-ui
Se puede implementar directamente usando Docker
docker run -p 8080:8080 \
-e KAFKA_CLUSTERS_0_NAME=local \
-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092 \
-d provectuslabs/kafka-ui:latest
Dirección de acceso: http://localhost:8080 .