docker快速部署kafka

一、创建docker网络

docker network create net

二、部署zookeeper

docker快速安装zookeeper-CSDN博客

**注意:**启动zookeeper时,需要加入docker网络,增加 --net net 参数

三、拉取kafka镜像

docker pull wurstmeister/kafka

docker pull wdkang/kafka-console-ui

四、启动kafka

docker run --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://154.18.222.31:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_HEAP_OPTS='-Xms512M -Xmx4G' -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 -v /etc/localtime:/etc/localtime --net net -d wurstmeister/kafka

注意:KAFKA_ADVERTISED_LISTENERS 参数如果是云服务器,需要填公网ip

五、启动kafka可视化工具

创建如下application.yml配置文件

复制代码
server:
  port: 7766
  servlet:
    # 不要修改context-path
    context-path: /

kafka:
  config:
    # 如果不存在default集群,启动的时候默认会把这个加载进来(如果这里配置集群地址了),如果已经存在,则不加载
    # kafka broker地址,多个以逗号分隔,不是必须在这里配置,也可以启动之后,在页面上添加集群信息
    bootstrap-server: kafka:9092
    # 集群其它属性配置
    properties:
#      request.timeout.ms: 5000
    # 缓存连接,不缓存的情况下,每次请求建立连接. 即使每次请求建立连接,其实也很快,某些情况下开启ACL,查询可能很慢,可以设置连接缓存为true,
    # 或者想提高查询速度,也可以设置下面连接缓存为true
    # 缓存 admin client的连接
    cache-admin-connection: false
    # 缓存 producer的连接
    cache-producer-connection: false
    # 缓存 consumer的连接
    cache-consumer-connection: false

spring:
  application:
    name: kafka-console-ui
  # h2 database
  datasource:
    url: jdbc:h2:file:${data.dir:${user.dir}}/data/db/kafka-console
#    url: jdbc:h2:mem:testdb
    driver-class-name: org.h2.Driver
    username: kafka
    password: 1234567890
    schema: classpath:db/schema-h2.sql
#    data: classpath:db/data-h2.sqldata.dir
    initialization-mode: always
  h2:
    console:
      enabled: true
#      settings:
#        web-allow-others: true

logging:
  home: ./

# 基于scram方案的acl,这里会记录创建的用户密码等信息,定时扫描,如果集群中已经不存在这些用户,就把这些信息从db中清除掉
cron:
#  clear-dirty-user: 0 * * * * ?
  clear-dirty-user: 0 0 1 * * ?

# 权限认证设置,设置为true,需要先登录才能访问
auth:
  enable: false
  # 登录用户token的过期时间,单位:小时
  expire-hours: 24
  # 隐藏集群的属性信息,如果当前用户没有集群切换里的编辑权限,就不能看集群的属性信息,有开启ACL的集群需要开启这个
  hide-cluster-property: true
  # 是否启用集群的数据权限,如果启用,可以配置哪些角色看到哪些集群. 不启用,即使配置了也不生效,每个角色的用户都可以看到所有集群信息.
  enable-cluster-authority: false
  # 重新加载权限信息,版本升级替换jar包的时候,新版本里增加了新的权限菜单,这个设置为true.然后在角色列表里分配新增加的菜单权限.
  reload-permission: true
log:
  # 是否打印操作日志(增加、删除、编辑)
  print-controller-log: true

启动

docker run --restart=always -p 7766:7766 --name kafka-console-ui --net net -v /root/application.yml:/app/config/application.yml -v /etc/localtime:/etc/localtime -d wdkang/kafka-console-ui

访问ip:7766,查看结果

相关推荐
皮皮冰燃3 小时前
docker-18-WSL中安装docker并部署flask服务
docker·容器·flask
少年白char3 小时前
整理上万首音乐后的完整工作流:下载、刮削、播放与避坑指南
docker·nas·musictag·音乐刮削·音乐标签
木雷坞9 小时前
K8s GPU 推理服务 ImagePullBackOff 排查与预热
云原生·容器·kubernetes·gpu算力
萧行之10 小时前
Docker部署Loki+Grafana+Vector实现全服务器日志监控(含N8N/SSH/Fail2ban监控)
服务器·docker·grafana
人工智能培训11 小时前
工程科研中的AI应用:结构力学分析技巧
人工智能·深度学习·机器学习·docker·容器
计算机安禾12 小时前
【Linux从入门到精通】第35篇:容器化技术预备——Docker安装与基本概念
linux·运维·docker
子木HAPPY阳VIP12 小时前
信创UOS,Docker 完整操作部署(Dockerfile部署方式)&排错整合
linux·运维·redis·nginx·docker·容器·tomcat
AOwhisky12 小时前
Kubernetes调度与服务暴露:从“定时任务”到“服务发现”的完全指南
linux·运维·云原生·容器·kubernetes·服务发现
Cyber4K13 小时前
【Kubernetes专项】温故而知新,重温技术原理(6)
云原生·容器·kubernetes
AI服务老曹13 小时前
架构实战:基于 GB28181 与 RTSP 的异构设备统一接入方案,深度解析 Docker 化 AI 视频管理平台
人工智能·docker·架构