赞
踩
docker network create docker-net --subnet 172.20.10.0/16
docker network ls
zook1 | 172.20.10.11 | 2184:2181 | |
zook2 | 172.20.10.12 | 2185:2181 | |
zook3 | 172.20.10.13 | 2186:2181 |
broker1 | 172.20.10.14 | 内部9091:9091,外部9191:9191 |
broker2 | 172.20.10.15 | 内部9092:9092,外部9192:9192 |
broker3 | 172.20.10.16 | 内部9093:9093,外部9193:9193 |
kafka manager | 172.20.10.10 | 内部9000:9000,外部9002:9002 |
- version: '2'
-
- services:
- zook1:
- image: zookeeper:latest
- #restart: always #自动重新启动
- hostname: zook1
- container_name: zook1 #容器名称,方便在rancher中显示有意义的名称
- ports:
- - 2183:2181 #将本容器的zookeeper默认端口号映射出去
- volumes: # 挂载数据卷 前面是宿主机即本机的目录位置,后面是docker的目录
- - "/Users/konsy/Development/volume/zkcluster/zook1/data:/data"
- - "/Users/konsy/Development/volume/zkcluster/zook1/datalog:/datalog"
- - "/Users/konsy/Development/volume/zkcluster/zook1/logs:/logs"
- environment:
- ZOO_MY_ID: 1 #即是zookeeper的节点值,也是kafka的brokerid值
- ZOO_SERVERS: server.1=zook1:2888:3888;2181 server.2=zook2:2888:3888;2181 server.3=zook3:2888:3888;2181
- networks:
- docker-net:
- ipv4_address: 172.20.10.11
-
- zook2:
- image: zookeeper:latest
- #restart: always #自动重新启动
- hostname: zook2
- container_name: zook2 #容器名称,方便在rancher中显示有意义的名称
- ports:
- - 2184:2181 #将本容器的zookeeper默认端口号映射出去
- volumes:
- - "/Users/konsy/Development/volume/zkcluster/zook2/data:/data"
- - "/Users/konsy/Development/volume/zkcluster/zook2/datalog:/datalog"
- - "/Users/konsy/Development/volume/zkcluster/zook2/logs:/logs"
- environment:
- ZOO_MY_ID: 2 #即是zookeeper的节点值,也是kafka的brokerid值
- ZOO_SERVERS: server.1=zook1:2888:3888;2181 server.2=zook2:2888:3888;2181 server.3=zook3:2888:3888;2181
- networks:
- docker-net:
- ipv4_address: 172.20.10.12
-
- zook3:
- image: zookeeper:latest
- #restart: always #自动重新启动
- hostname: zook3
- container_name: zook3 #容器名称,方便在rancher中显示有意义的名称
- ports:
- - 2185:2181 #将本容器的zookeeper默认端口号映射出去
- volumes:
- - "/Users/konsy/Development/volume/zkcluster/zook3/data:/data"
- - "/Users/konsy/Development/volume/zkcluster/zook3/datalog:/datalog"
- - "/Users/konsy/Development/volume/zkcluster/zook3/logs:/logs"
- environment:
- ZOO_MY_ID: 3 #即是zookeeper的节点值,也是kafka的brokerid值
- ZOO_SERVERS: server.1=zook1:2888:3888;2181 server.2=zook2:2888:3888;2181 server.3=zook3:2888:3888;2181
- networks:
- docker-net:
- ipv4_address: 172.20.10.13
- networks:
- docker-net:
- name: docker-net
docker-compose -p zookeeper -f zk-docker-compose.yml up -d
注:在当前目录下执行,如果没有安装docker-compose先去安装docker-compose
- version: '2'
-
- services:
- broker1:
- image: docker.io/wurstmeister/kafka
- #restart: always #自动重新启动
- hostname: broker1
- container_name: broker1
- ports:
- - 9091:9091
- - 9191:9191
- environment:
- KAFKA_BROKER_ID: 1
- KAFKA_LISTENERS: INSIDE://:9091,OUTSIDE://:9191
- SKAFKA_ADVERTISED_LISTENERS: INSIDE://broker1:9091,OUTSIDE://localhost:9191
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
- KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
- KAFKA_ZOOKEEPER_CONNECT: zook1:2181,zook2:2181,zook3:2181
- ALLOW_PLAINTEXT_LISTENER : 'yes'
- JMX_PORT: 9999 #开放JMX监控端口,来监测集群数据
- volumes:
- - /Users/konsy/Development/volume/kafka/broker1/wurstmeister/kafka:/wurstmeister/kafka
- - /Users/konsy/Development/volume/kafka/broker1/kafka:/kafka
- external_links:
- - zook1
- - zook2
- - zook3
- networks:
- docker-net:
- ipv4_address: 172.20.10.14
-
- broker2:
- image: docker.io/wurstmeister/kafka
- #restart: always #自动重新启动
- hostname: broker2
- container_name: broker2
- ports:
- - 9092:9092
- - 9192:9192
- environment:
- KAFKA_BROKER_ID: 2
- KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9192
- KAFKA_ADVERTISED_LISTENERS: INSIDE://broker2:9092,OUTSIDE://localhost:9192
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
- KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
- KAFKA_ZOOKEEPER_CONNECT: zook1:2181,zook2:2181,zook3:2181
- ALLOW_PLAINTEXT_LISTENER : 'yes'
- JMX_PORT: 9999 #开放JMX监控端口,来监测集群数据
- volumes:
- - /Users/konsy/Development/volume/kafka/broker2/wurstmeister/kafka:/wurstmeister/kafka
- - /Users/konsy/Development/volume/kafka/broker2/kafka:/kafka
- external_links:
- - zook1
- - zook2
- - zook3
- networks:
- docker-net:
- ipv4_address: 172.20.10.15
-
- broker3:
- image: docker.io/wurstmeister/kafka
- #restart: always #自动重新启动
- hostname: broker3
- container_name: broker3
- ports:
- - 9093:9093
- - 9193:9193
- environment:
- KAFKA_BROKER_ID: 3
- KAFKA_LISTENERS: INSIDE://:9093,OUTSIDE://:9193
- KAFKA_ADVERTISED_LISTENERS: INSIDE://broker3:9093,OUTSIDE://localhost:9193
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
- KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
- KAFKA_ZOOKEEPER_CONNECT: zook1:2181,zook2:2181,zook3:2181
- ALLOW_PLAINTEXT_LISTENER : 'yes'
- JMX_PORT: 9999 #开放JMX监控端口,来监测集群数据
- volumes:
- - /Users/konsy/Development/volume/kafka/broker3/wurstmeister/kafka:/wurstmeister/kafka
- - /Users/konsy/Development/volume/kafka/broker3/kafka:/kafka
- external_links:
- - zook1
- - zook2
- - zook3
- networks:
- docker-net:
- ipv4_address: 172.20.10.16
- networks:
- docker-net:
- name: docker-net
docker-compose -f kafka-docker-compose.yml up -d
- version: '2'
-
- services:
- kafka-manager:
- image: scjtqs/kafka-manager:latest
- restart: always
- hostname: kafka-manager
- container_name: kafka-manager
- ports:
- - 9000:9002
- external_links: # 连接本compose文件以外的container
- - zook1
- - zook2
- - zook3
- - broker1
- - broker2
- - broker3
- environment:
- ZK_HOSTS: zook1:2181,zook2:2181,zook3:2181
- KAFKA_BROKERS: broker1:9091,broker2:9092,broker3:9093
- APPLICATION_SECRET: letmein
- KM_ARGS: -Djava.net.preferIPv4Stack=true
- networks:
- docker-net:
- ipv4_address: 172.20.10.10
- networks:
- docker-net:
- external:
- name: docker-net
docker-compose -f kafka-manager-docker-compose.yml up -d
浏览器打开 172.20.10.10:9002
进入kafka容器的命令行:
docker exec -ti broker1 /bin/bash
进入kafka所在目录:
cd opt/kafka_2.13-2.8.1/
bin/kafka-topics.sh --create --zookeeper zook1:2181 --replication-factor 2 --partitions 2 --topic partopic
在kafka容器中的 opt/kafka_2.12-1.1.0/ 目录下输入
bin/kafka-topics.sh --describe --zookeeper zook1:2181 --topic partopic
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。