docker 安装 kafka
1. 先安装zookeeper , 因为 kafka 依赖 zookeeper, 虽然目前3.0 kafka已准备抛弃zk, 不过暂不推荐在生成环境使用
docker run -d --name zookeeper \
-p 26313:2181 \
-v /docker/volumes/zookeeper/data:/data \
-v /docker/volumes/zookeeper/datalog:/datalog \
-v /docker/volumes/zookeeper/logs:/logs \
-v /etc/localtime:/etc/localtime \
zookeeper:3.7.0
参数说明
-p 26313:2181
zk的2181端口映射为26313端口-v /etc/localtime:/etc/localtime
容器时间同步主机时间 , 其他-v为把 /data /datalog /logs 映射到主机对应的目录
2. 安装kafka
docker run -d --restart=always --name kafka \
-p 21661:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.100.21:26313 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.100.21:21661 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /etc/localtime:/etc/localtime \
wurstmeister/kafka:2.13-2.8.1
参数说明
-p 21661:9092
kafka的 9092 端口映射为 21661 端口-e KAFKA_BROKER_ID=0
在kafka集群中,每个kafka用BROKER_ID来区分自己 , 如需配置kafka集群可 修改此id 和 上述 21661 端口号映射即可部署集群-e KAFKA_ZOOKEEPER_CONNECT=192.168.100.21:26313
配置zookeeper连接地址-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.100.21:21661
把kafka的地址注册给zookeeper,如果是远程访问要改成外网IP,否则可能出现无法连接-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
配置kafka的监听端口-v /etc/localtime:/etc/localtime
容器时间同步虚拟机的时间
3. 消息发送 / 消费 测试
3.1 进入kafka容器
$ docker exec -it kafka bash
3.2 进入 bin 目录
$ cd /opt/kafka/bin
3.3 发送消息
> ./kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
3.4 消费消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --from-beginning
本文来自博客园,作者:辣子鸡炒蚌,转载请注明原文链接:https://www.cnblogs.com/stearsc/p/15939953.html