搭建单机kafka选型
选择docker容器内集成 kafka,zookeeper 的容器
1
2## 找到的这个 容器设置了 kafka的hostname和 zookeeper的ip ,
docker run -d -e ADVERTISED_HOSTNAME=$(hostname -f) -e KAFKA_ADVERTISED_HOST_NAME=192.168.248.128 -e ZOOKEEPER_IP=192.168.248.128 -p 9092:9092 -p 2181:2181 --restart=always jrottenberg/kafka-standalone基于上面的容器是可以运行 获取到了zookeeper的broker 但是kafka是连接不上
docker-composer 来执行
参考第 https://github.com/conduktor/kafka-stack-docker-compose
但是还有有个问题,我搭建的环境是离线的,尽量还是以 docker命令来执行减少安装其他软件
原始的 kafka,zookeeper 分开安装,在设置环境变量(选用的方案)
前置需要安装的软件
prettyZoo 查看zookeeper很方便
cmak (kafka manage) kafka监控软件
安装过程
https://ioccc.cc/2018/12/12/zookeeper-kafka/ 改部分参考该篇博文
运行zookeeper
1 | docker run -d --name zookeeper --publish 2181:2181 \ |
运行kafka
1 | docker run -d --name kafka --publish 9092:9092 \ |
进去容器
1 | docker exec -it <ID> /bash/sh |
创建topic 名为test
kafka-topics.sh –create –zookeeper zookeeper:2181 –replication-factor 1 –partitions 1 –topic test
列出所有的topic
kafka-topics.sh –list –zookeeper zookeeper:2181
创建生产者输入测试信息
kafka-console-producer.sh –broker-list localhost:9092 –topic test
kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning
tips
需要将 KAFKA_ADVERTISED_HOST_NAME=HOST_IP 改为 docker所在的ip
在cmak中是看不到 topic.需要 用3.3.1 的命令去创建