1、build dockerfile kafka dockerfile zookeeper dockerfile 2、镜像启动
//-h 指定hostname sudo docker run -itd --name zookeeper -h zookeeper -p 2181:2181 jiankunking/zookeeper:3.4.6 //-h 指定hostname //--link 容器可以通过link链接进行访问,这样就不需要指定ip了 sudo docker run -itd --name kafka -h kafka -p 9092:9092 --link zookeeper jiankunking/kafka:0.8.2.23、查看kafka、zookeeper端口是否已被监听
//kafka lsof -i:9092 //zookeeper lsof -i:2181也可以进入kafka、zookeeper容器查看相应端口是否已经被监听。
4、启动kafka
//进入容器 sudo docker exec -it d1361270a323 /bin/bash //切换目录 cd /opt/kafka/kafka_2.11-0.8.2.2/bin/ //创建topic ./kafka-topics.sh --create --topic test1 --zookeeper zookeeper:2181 --partitions 3 --replication-factor 1如果提示:
/opt/kafka/kafka_2.11-0.8.2.2/bin/kafka-run-class.sh: line 155: exec: java: not found则刷新配置文件:
source /root/.bash_profile //再创建一个topic test2 ./kafka-topics.sh --create --topic test2 --zookeeper zookeeper:2181 --partitions 3 --replication-factor 1 Created topic "test2". //查看创建的topic信息 ./kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic test1 ./kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic test2 //查看topic列表 ./kafka-topics.sh --list --zookeeper zookeeper:2181启动kafka消费端:
./kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic test1再一个新的shell窗口,进入容器,启动kafka producer
./kafka-console-producer.sh --broker-list localhost:9092 --topic test1启动后,在kafka producer中输入内容回车,kafka consumer就会收到了
作者:jiankunking 出处:http://blog.csdn.net/jiankunking