环境:CentOs7 docker
ip:192.168.204.10
1.创建启动3个zookeeper容器
docker run --name zookeeper -p 12181:2181 -d wurstmeister/zookeeper:latest
docker run --name zookeeper -p 12182:2182 -d wurstmeister/zookeeper:latest
docker run --name zookeeper -p 12183:2183 -d wurstmeister/zookeeper:latest
2. 创建启动3个Kafka容器
docker run -p 9091:9091 --name broker1 -d -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.204.10:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.10:9091 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9091 wurstmeister/kafka:latest
docker run -p 9092:9092 --name broker2 -d -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.204.10:12182 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.10:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest
docker run -p 9093:9093 --name broker3 -d -e KAFKA_BROKER_ID=3 -e KAFKA_ZOOKEEPER_CONNECT=192.168.204.10:12183 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.10:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 wurstmeister/kafka:latest
注:
-e KAFKA_BROKER_ID=1在kafka集群中,每个kafka都有一个BROKER_ID来进行区分
-e KAFKA_ZOOKEEPER_CONNECT=192.168.204.10:12181
配置zookeeper管理kafka的路径192.168.204.10:12181
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.10:9091
把kafka的地址端口注册给zookeeper
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9091
配置kafka的监听端口-v /etc/localtime:/etc/localtime
同步本地时间
————————————————————————————————————
Kafka常用命令:
cd /opt/kafka_2.13-2.7.0/bin/
./kafka-topics.sh --zookeeper 192.168.204.10:12181 --create --topic abc1 --replication-factor 1 --partitions 3 Created topic "abc1" 创建topic abc1
./kafka-topics.sh --zookeeper 192.168.204.10:12181 --describe --topic abc1 查询创建的topic abc1
kafka-topics.sh --zookeeper 192.168.40.148:2181 --list 查询所有topic
注:先接收再发送
./kafka-console-producer.sh --broker-list 192.168.204.10:9091,192.168.204.10:9092,192.168.204.10:9093 --topic abc1 发送消息./kafka-console-consumer.sh --bootstrap-server 192.168.204.10:9091,192.168.204.10:9092,192.168.204.10:9093 --topic abc1 接受消息