1、下载镜像
> $ docker pull wurstmeister/zookeeper
> $ docker pull wurstmeister/kafka
在命令行中等待两个镜像下载完成,然后验证镜像是否存在
> $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wurstmeister/kafka latest c364cbed5b86 3 weeks ago 421MB
wurstmeister/zookeeper latest 3f43f72cb283 3 months ago 510MB
2、启动kafka
(1)首先启动zookeeper
> $ docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
b25e225ef2c4f83bb88724b88d4c3097f471e6c93e8fc7ac691017882d733668
(2)再启动kafka
> $ docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.44.158 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
0fd8281b5254b5be9e43209431107f189fa834165ad72404d5511a496d90694c
可以通过通过下面命令来查看kafka是否启动
> $ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0fd8281b5254 wurstmeister/kafka:latest "start-kafka.sh" 2 hours ago Up 2 hours 0.0.0.0:9092->9092/tcp kafka
b25e225ef2c4 wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 2 hours ago Up 2 hours 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp zookeeper
3、测试发送消息
(1)在终端输入container ID,进入容器,如下:
> $ docker exec -it 0fd8281b5254 /bin/bash
> bash-4.4#
(2)进入kafka默认目录
> bash-4.4# cd /opt/kafka_2.12-2.2.0/
> bash-4.4# ls
LICENSE NOTICE bin config libs logs site-docs
(3)在下面就和kafka的功能一样,首先创建主题(mykafka)
> bash-4.4# bin/kafka-console-producer.sh --broker-list 192.168.44.158:9092 --topic mykafka
Created topic mykafka.
(4)查看我创建主题
> bash-4.4# bin/kafka-topics.sh --list --zookeeper 192.168.44.158:2181
mykafka
(5) 发送消息
首先在第一个终端输入下面命令 ,等待输入
> bash-4.4# bin/kafka-console-producer.sh --broker-list 192.168.44.158:9092 --topic mykafka
>
其次,在第二个终端同样进入kafka的后台,等待接受消息
> bash-4.4# bin/kafka-console-consumer.sh --bootstrap-server 192.168.44.158:9092 --topic mykafka
在第一终端输入 this is a message
> bash-4.4# bin/kafka-console-producer.sh --broker-list 192.168.44.158:9092 --topic mykafka
>this is a message
第二终端展示
> bash-4.4# kafka-console-consumer.sh --bootstrap-server 192.168.44.158:9092 --topic mykafka
> this is a message
本文参考:http://blog.csdn.net/snowcity1231/article/details/54946857
网友评论