首页 > 其他分享 >Docker搭建kafka

Docker搭建kafka

时间:2022-12-03 18:00:30浏览次数:64  
标签:management zookeeper KAFKA Dcom Docker kafka docker 搭建

环境安装

docker安装

yum update
yum install docker

# 启动
systemctl start docker
# 加入开机启动
systemctl enable docker

# 检查是否启动
docker version

# 测试一下
docker run hello-world

docker-compose安装

# 第一步 下载二进制文件到/usr/local/bin/位置
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# 下载慢就用这个
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose


# 第二步 赋予可执行权限
chmod +x /usr/local/bin/docker-compose

# 查看版本号
docker-compose version

kafka安装

单机版

version: "3"
services:
zookeeper:
image: 'bitnami/zookeeper:latest'
ports:
- '2181:2181'
environment:
# 匿名登录--必须开启
- ALLOW_ANONYMOUS_LOGIN=yes
#volumes:
#- ./zookeeper:/bitnami/zookeeper
# 该镜像具体配置参考 https://github.com/bitnami/bitnami-docker-kafka/blob/master/README.md
kafka:
image: 'bitnami/kafka:2.8.0'
ports:
- '9092:9092'
- '9999:9999'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
# 客户端访问地址,更换成自己的主机IP (如果要外网访问就是服务器IP)
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
# 允许使用PLAINTEXT协议(镜像中默认为关闭,需要手动开启)
- ALLOW_PLAINTEXT_LISTENER=yes
# 关闭自动创建 topic 功能
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
# 全局消息过期时间 6 小时(测试时可以设置短一点)
- KAFKA_CFG_LOG_RETENTION_HOURS=6
# 开启JMX监控
- JMX_PORT=9999
#volumes:
#- ./kafka:/bitnami/kafka
depends_on:
- zookeeper
# Web 管理界面 (用KnowStreaming可以不用下面的)
kafka_manager:
image: 'hlebalbau/kafka-manager:latest'
ports:
- "9000:9000"
environment:
ZK_HOSTS: "zookeeper:2181"
APPLICATION_SECRET: letmein
depends_on:
- zookeeper
- kafka

集群版

version: '3.8'
services:
zookeeper:
image: 'bitnami/zookeeper:latest'
ports:
- '2181:2181'
environment:
# 匿名登录--必须开启
- ALLOW_ANONYMOUS_LOGIN=yes
#volumes:
#- ./zookeeper:/bitnami/zookeeper
kafka1:
image: wurstmeister/kafka
restart: always
container_name: kafka1
ports:
- "9092:9092"
- "9977:9977"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ADVERTISED_HOST_NAME: kafka1
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
JMX_HOSTNAME : 127.0.0.1
JMX_PORT: 9977
KAFKA_JMX_OPTS: "-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=9977"
depends_on:
- zookeeper

kafka2:
image: wurstmeister/kafka
restart: always
container_name: kafka2
ports:
- "9093:9093"
- "9988:9988"
environment:
KAFKA_BROKER_ID: 2
KAFKA_ADVERTISED_HOST_NAME: kafka2
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9093
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9093
KAFKA_ADVERTISED_PORT: 9093
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
JMX_HOSTNAME : 127.0.0.1
JMX_PORT: 9988
KAFKA_JMX_OPTS: "-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=9988"
depends_on:
- zookeeper

kafka3:
image: wurstmeister/kafka
restart: always
container_name: kafka3
ports:
- "9094:9094"
- "9999:9999"
environment:
KAFKA_BROKER_ID: 3
KAFKA_ADVERTISED_HOST_NAME: kafka3
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9094
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9094
KAFKA_ADVERTISED_PORT: 9094
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
JMX_HOSTNAME : 127.0.0.1
JMX_PORT: 9999
KAFKA_JMX_OPTS: "-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=9999"
depends_on:
- zookeeper

管理工具 KnowStreaming

管理工具

​​​​https://github.com/didi/KnowStreaming/blob/master/docs/install_guide/单机部署手册.md​






标签:management,zookeeper,KAFKA,Dcom,Docker,kafka,docker,搭建
From: https://blog.51cto.com/u_15222272/5908621

相关文章

  • Java开发环境搭建
    JDK下载下载地址:https://www.oracle.com/java/technologies/downloads/#java8-windows参考:https://blog.csdn.net/m0_37593616/article/details/125284168配置环境变量......
  • Docker之Bridge网络模式应用
    Bridge是docker的默认网络模式,可直接用宿主机的物理网卡去访问外网。实战操作如下:1.新增一个bridge模式的网络,名称为test。网段为172.18.2.0/24dockernetworkcreate-dbr......
  • 一文教会你如何在内网搭建一套属于自己小组的在线 API 文档?
    Hello,大家好,我是阿粉,对接文档是每个开发人员不可避免都要写的,友好的文档可以大大的提升工作效率。阿粉最近将项目的文档基于Gitbook和Gitlab的Webhook功能的在内网......
  • 使用Kafka Assistant监控Kafka关键指标
    使用KafkaAssistant监控Kafka关键指标使用Kafka时,我们比较关心下面这些常见指标。KafkaAssistant下载地址:​​http://www.redisant.cn/ka​​broker度量指标活跃控制器数......
  • PythonWeb开发:90分钟用Flask搭建博客
    来自https://www.bilibili.com/video/BV1gh411q7xo?p=2&vd_source=54aa98683b2f8392aec4499961f896ce1.环境准备1.1搭建虚拟环境在项目文件夹下打开控制台,输入pytho......
  • docker入门(利用docker部署web应用)
    第一章什么是docker1.1docker的发展史2010年几个年轻人成立了一个做PAAS平台的公司dotCloud.起初公司发展的不错,不但拿到过一些融资,还获得了美国著名孵化器YCombinator......
  • 这可能是最为详细的Docker入门吐血总结
    Docker是什么?在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不信的话看......
  • Docker原理(图解+秒懂+史上最全)
    背景:下一个视频版本,从架构师视角,尼恩为大家打造高可用、高并发中间件的原理与实操。目标:通过视频和博客的方式,为各位潜力架构师,彻底介绍清楚架构师必须掌握的高可用、高并......
  • elk+ filebeat环境部署(docker 方式)
    文章目录​​1.elk+filebeat数据流​​​​2.项目目录结构​​​​3.前置配置​​​​4.镜像下载​​​​5.部署nginx​​​​6.部署elk​​​​7.部署filebea......
  • Dockerfile自定义镜像、CentOS安装DockerCompose及Docker镜像仓库
    目录​​一、Dockerfile自定义镜像​​​​案例:基于java:8-alpine镜像,将一个Java项目构建为镜像​​​​二、CentOS安装DockerCompose​​​​案例:将cloud-demo微服务集群利......