docker 安装 zk -zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
-d 参数设置后台运行
–name zookeeper 参数指定容器别名
-p 2181:2181 参数绑定容器端口到宿主端口
安装kafka
#kafka
docker run -d --name xdclass_kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.0.116:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.116:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
-d 参数指定容器后台运行
–name kafka 参数指定容器别名
-p 参数指定端口号
-e 参数可以设置 docker 容器内环境变量,每个变量的解释:
KAFKA_BROKER_ID=0
在 kafka 集群中,每个 kafka 都有一个 BROKER_ID 来区分自己
KAFKA_ZOOKEEPER_CONNECT={host-ip}:{zookeeper-port}/kafka
配置 zookeeper 管理 kafka 的路径
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://{host-ip}:9092
把 kafka 的地址端口注册给 zookeeper
创建topic
docker exec -it 9b5070d79dfa /bin/bash
cd /opt/kafka
bin/kafka-topics.sh --create --zookeeper 192.168.0.116:2181 --replication-factor 1 --partitions 1 --topic xdclass-topic
#创建生产者发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic xdclass-topic
#运行一个消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic xdclass-topic --from-beginning