当前位置:   article > 正文

kafka UI工具部署介绍

kafka ui

kafka UI工具部署介绍

kafka Map、kafka eagle、Know Streaming、Kafka-UI四款UI工具部署测试

1、kafka Map

  • 多集群管理

  • 集群状态监控(分区数量、副本数量、存储大小、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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

访问地址:http://ip:8080

账号/密码:admin/admin

image

2、kafka-eagle

功能齐全,国内某公司做的开源产品

下载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
    
    • 1
    • 2
  • /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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 安装MySQL并添加数据库kekafka-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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
  • 使用如下命令启动kafka-eagle

    $KE_HOME/bin/ke.sh start
    
    • 1
  • 命令执行完成后会显示如下信息,但并不代表服务已经启动成功,还需要等待一会;

image

  • 再介绍几个有用的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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 启动成功可以直接访问,输入账号密码admin:123456

  • 访问地址:http://IP:8048/

image

3、滴滴Know Streaming

有社区版、企业版和云服务版,功能齐全

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102

部署启动

docker-compose -f docker-compose.yml up -d
  • 1

访问:地址:http://IP/

账号/密码:admin/admin

image

4、Kafka-UI

该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 
  • 1
  • 2
  • 3
  • 4

访问地址:http://localhost:8080.

image

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/383928
推荐阅读
相关标签
  

闽ICP备14008679号