docker简易搭建kafka
写在前面:在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题:想分析一下用户行为,一遍我能设计出更好的广告位,相对用户的搜索关键字尽心统计,分析出前卫的流行趋势,有些数据存数据库浪费,直接存硬盘操作效率又低。kafka在这样的场景下就是个不错的选择。
第一步 搭建zookeeper环境
在centos中,拉取zookeeper镜像,以及创建zookeeper容器:
docker pull zookeeper
docker run -d -v /home/soft/zookeeperhost/zookeeperDataDir:/data -v /home/soft/zookeeperhost/zookeeperDataLogDir:/datalog -e ZOO_MY_ID=1 -e ZOO_SERVERS='server.1=192.168.9.129:2888:3888'--net=host --privileged zookeeper
注:192.168.9.129读者请自行改为本机ip,此文采用的单例,而非集群,如需集群 读者请自行创建.192.168.9.129
第二步 创建kafka环境
在centos中,创建kafka容器:
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=localhost --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka
第三步 验证kafka是否正确安装
进入到kafka容器中 并创建topic 生产者,执行如下命令:
docker exec -it kafka bash
./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 8 --topic test
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
执行上诉命令后,另起一个标签页,执行如下命令 创建kafka消费者消费消息:
docker exec -it kafka bash
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
执行完上诉命令后,在生产者窗口中 输入任意内容回车,即可在消费者的窗口查看到消息
附录:
查看消息主题列表:
./kafka-topics.sh --list --zookeeper zookeeper:2181
test
查看指定topic信息:
./kafka-topics.sh --describe --zookeeper zookeeper:2181 --topic test