Introducción a la implementación de la herramienta Kafka UI

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

imagen

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-eaglese descomprimirá en el directorio especificado;

    cd /mydata/kafka/
    tar -zxvf kafka-eagle-web-2.0.5-bin.tar.gz
    
  • /etc/profileAgregue variables de entorno al archivo 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
    
  • Instale MySQL y agregue una base de datos ke, kafka-eagleque 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;

imagen

  • Aquí hay algunos kafka-eaglecomandos 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/

imagen

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

imagen

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 .

imagen

Supongo que te gusta

Origin blog.csdn.net/qq_23435961/article/details/132066933
Recomendado
Clasificación