➜ tree . ├── docker-compose.yml └── zoo.cfg 0 directories, 2 files
zoo.cfg
clientPort=2181 dataDir=/data dataLogDir=/datalog tickTime=2000 initLimit=5 syncLimit=2 server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 4lw.commands.whitelist=*
docker-compose.yml
version: '2' services: # ZK Cluster zoo1: image: zookeeper:latest restart: always container_name: zoo1 ports: - "12181:2181" volumes: - ./zoo.cfg:/conf/zoo.cfg environment: ZOO_MY_ID: 1 # ZK服务的ID zoo2: image: zookeeper:latest restart: always container_name: zoo2 ports: - "22181:2181" volumes: - ./zoo.cfg:/conf/zoo.cfg environment: ZOO_MY_ID: 2 zoo3: image: zookeeper:latest restart: always container_name: zoo3 ports: - "32181:2181" volumes: - ./zoo.cfg:/conf/zoo.cfg environment: ZOO_MY_ID: 3 # Kafka Cluster kafka1: image: wurstmeister/kafka restart: always container_name: kafka1 ports: - "19092:9092" environment: KAFKA_BROKER_ID : 1 KAFKA_ADVERTISED_HOST_NAME: kafka1 KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181 kafka2: image: wurstmeister/kafka restart: always container_name: kafka2 ports: - "29092:9092" environment: KAFKA_BROKER_ID : 2 KAFKA_ADVERTISED_HOST_NAME: kafka2 KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181 kafka3: image: wurstmeister/kafka restart: always container_name: kafka3 ports: - "39092:9092" environment: KAFKA_BROKER_ID : 3 KAFKA_ADVERTISED_HOST_NAME: kafka3 KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
验证
启动
➜ docker-compose up -d Creating network "downloads_default" with the default driver Creating zoo3 ... done Creating kafka2 ... done Creating kafka3 ... done Creating zoo2 ... done Creating zoo1 ... done Creating kafka1 ... done ➜ docker-compose ps Name Command State Ports --------------------------------------------------------------------------------------------- kafka1 start-kafka.sh Up 0.0.0.0:19092->9092/tcp kafka2 start-kafka.sh Up 0.0.0.0:29092->9092/tcp kafka3 start-kafka.sh Up 0.0.0.0:39092->9092/tcp zoo1 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:12181->2181/tcp, 2888/tcp, 3888/tcp zoo2 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:22181->2181/tcp, 2888/tcp, 3888/tcp zoo3 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:32181->2181/tcp, 2888/tcp, 3888/tcp
创建主题
➜ kafka-topics --create --topic test --zookeeper localhost:12181,localhost:22181,localhost:32181 --replication-factor 1 --partitions 1 Created topic "test". ➜ kafka-topics --zookeeper localhost:12181,localhost:22181,localhost:32181 --describe --topic test Topic:test PartitionCount:1 ReplicationFactor:1 Configs: Topic: test Partition: 0 Leader: 3 Replicas: 3 Isr: 3
发送消息
➜ kafka-console-producer --topic=test --broker-list localhost:19092,localhost:29092,localhost:39092 >hello >zhongmingmao
读取消息
➜ Downloads kafka-console-consumer --bootstrap-server localhost:19092,localhost:29092,localhost:39092 --from-beginning --topic hello zhongmingmao
关闭
➜ docker-compose down Stopping kafka1 ... done Stopping kafka3 ... done Stopping zoo3 ... done Stopping kafka2 ... done Stopping zoo2 ... done Stopping zoo1 ... done Removing kafka1 ... done Removing kafka3 ... done Removing zoo3 ... done Removing kafka2 ... done Removing zoo2 ... done Removing zoo1 ... done Removing network downloads_default
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 配置Hadoop集群JobHistoryServer
- Apache配置——支持JBoss集群
- 配置Hadoop集群客户端
- Consul 集群部署 + ACL 配置
- SLife 1.0 加入集群的配置和 Docker 化部署配置
- Mariadb之半同步复制集群配置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。