docker部署kafka
1. 下载zookeeper镜像
docker pull wurstmeister/zookeeper
2. 下载kafka镜像
docker pull wurstmeister/kafka
3. 启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
4. 启动kafka
docker run -d --name kafka --publish 9092:9092 --link zookeeper:zookeeper -e KAFKA_BROKER_ID=1 -e HOST_IP=192.168.65.7 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.65.7:9092 -e KAFKA_ADVERTISED_HOST_NAME=192.168.65.7 -e KAFKA_ADVERTISED_PORT=9082 --restart=always -t wurstmeister/kafka
部分参数含义:
KAFKA_BROKER_ID=1 kafka在集群中的唯一标识
KAFKA_ZOOKEEPER_CONNECT=zookeeper:12181 监听zookeeper的地址
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.65.7:19092 kafka服务器的地址
5. 进入kafka容器
- 查看kafka镜像id
docker ps -a
- 进入容器
docker exec -it ${CONTAINER ID} /bin/bash
- 进入kafka的bin目录下
cd /opt/kafka_2.18/bin
- 创建topic
./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka
- 运行生产者
./kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka
- 消费topic
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --from-beginning --topic mykafka