赞
踩
docker-compose 部署单机伪集群版本的kafka和zookeeper,还有Kafka manager
version: '3.1' # 首先通过docker network create zookeeper_network命令创建一个名为zookeeper_network的 Docker 网络。 networks: default: external: name: zookeeper_network services: zoo1: image: zookeeper restart: always container_name: zoo1 hostname: zoo1 ports: - 2181:2181 volumes: - "./zoo1/data:/data" - "./zoo1/datalog:/datalog" environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo2: image: zookeeper restart: always container_name: zoo2 hostname: zoo2 ports: - 2182:2181 volumes: - "./zoo2/data:/data" - "./zoo2/datalog:/datalog" environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo3: image: zookeeper restart: always container_name: zoo3 hostname: zoo3 ports: - 2183:2181 volumes: - "./zoo3/data:/data" - "./zoo3/datalog:/datalog" environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
先修改宿主机ip
version: '3.1' networks: default: external: name: zookeeper_network services: kafka1: image: xuxiangwork/kafka restart: unless-stopped container_name: kafka1 hostname: kafka1 ports: - "9092:9092" - "1099:1099" external_links: - zoo1 - zoo2 - zoo3 environment: KAFKA_BROKER_ID: 1 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.54:9092 ## 宿主机IP KAFKA_ADVERTISED_HOST_NAME: kafka1 KAFKA_ADVERTISED_PORT: 9092 KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2181,zoo3:2181" CUSTOM_JMX_PORT: "1099" JVM_XMS: "256M" JVM_XMX: "512M" volumes: - "./kafka/kafka1/data/:/kafka" kafka2: image: xuxiangwork/kafka restart: unless-stopped container_name: kafka2 hostname: kafka2 ports: - "9093:9092" - "1100:1100" external_links: - zoo1 - zoo2 - zoo3 environment: KAFKA_BROKER_ID: 2 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.54:9093 ## 宿主机IP KAFKA_ADVERTISED_HOST_NAME: kafka2 KAFKA_ADVERTISED_PORT: 9093 KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2181,zoo3:2181" CUSTOM_JMX_PORT: "1100" JVM_XMS: "256M" JVM_XMX: "512M" volumes: - "./kafka/kafka2/data/:/kafka" kafka3: image: xuxiangwork/kafka restart: unless-stopped container_name: kafka3 hostname: kafka3 ports: - "9094:9092" - "1101:1101" external_links: - zoo1 - zoo2 - zoo3 environment: KAFKA_BROKER_ID: 3 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.54:9094 ## 宿主机IP KAFKA_ADVERTISED_HOST_NAME: kafka3 KAFKA_ADVERTISED_PORT: 9094 KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2181,zoo3:2181" CUSTOM_JMX_PORT: "1101" JVM_XMS: "256M" JVM_XMX: "512M" volumes: - "./kafka/kafka3/data/:/kafka" kafka-manager: # Kafka 图形管理界面 image: xuxiangwork/kafka-manager restart: unless-stopped container_name: kafka-manager hostname: kafka-manager ports: - "9000:9000" links: # 连接本compose文件创建的container - kafka1 - kafka2 - kafka3 external_links: # 连接外部compose文件创建的container - zoo1 - zoo2 - zoo3 environment: ZK_HOSTS: zoo1:2181,zoo2:2181,zoo3:2181 KAFKA_BROKERS: kafka1:9092,kafka2:9093,kafka3:9094 APPLICATION_SECRET: letmein KAFKA_MANAGER_AUTH_ENABLED: "true" KAFKA_MANAGER_USERNAME: admin KAFKA_MANAGER_PASSWORD: admin
1.首先运行 zookeeper
执行docker-compose up -d
2.运行kafka
执行docker-compose up -d
访问kafka manager : http://192.168.1.54:9000/
输入密码admin 进行访问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。