docker安装【zookeeper】&【kafka】&【provectuslabs/kafka-ui】记录

目录

shell 复制代码
mkdir -p /export/{data,apps,logs,conf,downloads}

cd /export/downloads

curl -OLk  https://download.oracle.com/java/17/archive/jdk-17.0.10_linux-x64_bin.tar.gz

tar zxf jdk-17.0.10_linux-x64_bin.tar.gz

mv /export/downloads/jdk-17.0.10 /export/apps/

ln -s /export/apps/jdk-17.0.10 /export/apps/jdk

cat >> /etc/profile << EOF
export JAVA_HOME=/export/apps/jdk
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=.:\$JAVA_HOME/bin:\$PATH
EOF

source /etc/profile

1.安装zookeeper:3.9.2-jre-17

  • 注意修改端口映射
shell 复制代码
docker pull zookeeper:3.9.2-jre-17

sudo docker run -d --name zk --privileged -p 2181:2181 -p 2888:2888 -p 3888:3888 zookeeper:3.9.2-jre-17

2.安装kafka:3.7.0

  • 注意修改zk地址及端口
shell 复制代码
docker pull bitnami/kafka:3.7.0

docker run -d -t -p 9092:9092 --restart=always \
-e KAFKA_BROKER_ID=0 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=192.168.1.30:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.30:9092 \
-e TZ="Asia/Shanghai" --name kafka-0 --privileged=true bitnami/kafka:3.7.0
  • 安装kafka:3.7.0参数说明

    #参数说明
    #docker run -d -t -p 9092:9092 --restart=always
    #-p 自己的内网 宿主机端口:容器端口

    #-e KAFKA_BROKER_ID=0
    #集群的broker的ID,该ID是集群的唯一标识,可以理解为节点ID。

    #-e ALLOW_PLAINTEXT_LISTENER=yes
    #允许使用PLAINTEXT侦听器

    #-e KAFKA_CFG_ZOOKEEPER_CONNECT=192.168.1.30:2181
    #zookeeper的连接地址

    #-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://1192.168.1.30:9092
    #kafka发布到zookeeper供客户端使用的服务地址。

    #-e TZ="Asia/Shanghai" --name kafka-0 --privileged=true bitnami/kafka:3.7.0
    #TZ:指定时区,这里指定亚洲上海时区,也就是东八区

    #--name 给容器取个名字

    #--privileged:使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。

  • kfk常用命令

    #创建topic:kafka-topics.sh --create --bootstrap-server 192.168.1.30:9092 --replication-factor 1 --partitions 3 --topic test
    #查看topic列表:kafka-topics.sh --list --bootstrap-server 192.168.1.30:9092
    #单个查询topic描述:kafka-topics.sh --topic test --bootstrap-server 192.168.1.30:9092 --describe --exclude-internal
    #生产消息:kafka-console-producer.sh --bootstrap-server 192.168.1.30:9092 --topic test
    #消费消息:kafka-console-consumer.sh --bootstrap-server 192.168.1.30:9092 --topic test --from-beginning
    #删除某条消息:kafka-delete-records.sh --bootstrap-server 192.168.1.30:9092 --offset-json-file /tmp/delete-strategy.json
    #{

    "partitions": [

    {"topic": "test", "partition": 1, "offset": 1}

    ],

    "version":1

    #}
    #删除某主题下topic消息(超时时间设置短一些):kafka-configs.sh --zookeeper 192.168.1.30:2181 --entity-type topics --entity-name test --alter --add-config retention.ms=100
    #删除topic:kafka-topics --bootstrap-server 192.168.1.30:9092 --topic test --delete
    #查看消息内容:kafka-console-consumer.sh --bootstrap-server 192.168.1.30:9200 --topic test --from-beginning

3.安装provectuslabs/kafka-ui

  • 命令行方便,但是更多开发调试的时候仅限于查看,还是要有个ui工具,决定使用kfk-ui
  • kfk-ui官方地址:https://github.com/provectus/kafka-ui
  • 初次启动使用docker compose配置,注意配置端口映射和kafka集群服务器地址及端口
shell 复制代码
cat > kfkui-docker-compose.yml << EOF
version: '3.4'
services:
  kafka-ui:
    container_name: kafka-ui
    image: provectuslabs/kafka-ui:latest
    ports:
      - 9093:8080

    extra_hosts:
      - "kafka1-nonesecure:192.168.1.30"
    environment:
      KAFKA_CLUSTERS_0_NAME: kafka-cluster-0
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka1-nonesecure:9092
EOF

docker compose -f kfkui-docker-compose.yml up -d
  • ui效果
相关推荐
xrlfreedom36 分钟前
大厂 MCP 面试实录:内部 REST API 封装为可审计 MCP Tools 的落地方案
docker·mcp·提示注入防护
摇滚侠2 小时前
《Docker技术入门与实战 第4版》阅读笔记 2 Docker 镜像
笔记·docker·容器
云原生指北3 小时前
Docker Sandboxes 工作区怎么接:Direct、Clone 和它们的边界
git·docker·agent
阿里云云原生4 小时前
还在给 AI “喂冷饭”?8.28 上海沙龙:带你跨越 AI 实时上下文鸿沟
云原生·kafka
玉宇夕落4 小时前
Docker + Nginx + Node.js 容器化部署 —— 从零到一理解反向代理与容器化原理
docker
ly76895 小时前
Docker 从入门到实践:镜像、容器、Dockerfile 与 Docker Compose 详解
运维·docker·容器
梦梦代码精5 小时前
基于UniApp+Vue3+ThinkPHP 8,这套知识付费系统的架构设计有点东西
java·低代码·docker·uni-app·开源·php
moMo9 小时前
从“巨轮”到“本地开发”:用 Docker 和 Nginx 解决你的端口焦虑
nginx·docker
地衣君10 小时前
Hermes Docker 容器交互一些技巧
docker·hermes
智码看视界10 小时前
Day53-Docker:Dockerfile最佳实践 + 多阶段构建 + docker-compose编排
java·spring boot·docker·docker-compose·dockerfile·容器化部署·多阶段构建