Docker快速搭建Kafka 1.x集群

下载zookeeper镜像:

docker pull wurstmeister/zookeeper

下载kafka镜像:

docker pull wurstmeister/kafka

在自己选的目录下创建一个docker-compose.yml文件

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    build: .
    ports:
      - "9092"
    environment:
      KAFKA_ADVERTISED_LISTENERS: 192.168.99.100
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

KAFKA_ADVERTISED_LISTENERS的ip地址使用宿主机上的 docker-machine ip 地址

启动docker-compose

docker-compose up -d

启动多个kafka 节点,比如3个

docker-compose scale kafka=3

可用性测试

自此,如果没有出现什么错误,通过docker ps 应该可以看到已经成功启动了一个zookeeper容器,三个Kafka容器。

通过指定容器名(假设容器名为 wurkafka_kafka_1)进入一个Kafka容器:

docker exec -it wurkafka_kafka_1 /bin/bash

创建一个topic(其中假设zookeeper容器名为 wurkafka_zookeeper_1,topic名为test),输入:

$KAFKA_HOME/bin/kafka-topics.sh --create --topic test \
--zookeeper wurkafka_zookeeper_1:2181 --replication-factor 1
--partitions 1

查看新创建的topic:

$KAFKA_HOME/bin/kafka-topics.sh --zookeeper wurkafka_zookeeper_1:2181 \
--describe --topic test

发布消息: (输入若干条消息后 按^C 退出发布)

$KAFKA_HOME/bin/kafka-console-producer.sh --topic=test \
--broker-list wurkafka_kafka_1:9092

接收消息:

$KAFKA_HOME/bin/kafka-console-consumer.sh  \
--bootstrap-server wurkafka_kafka_1:9092 \
--from-beginning --topic test

如果接收到了发布的消息,证明整个部署正常,就可以正式开始开发工作了。

原文 https://www.jianshu.com/p/8ccd712e2599

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值