Docker
docker部署kafka
docker部署kafka
最近接了一个需求,需要开发一个脚本,消费kafka队列,本地开发调试,需要模拟kafka生产数据,所以决定用docker部署kafka来进行调试,直接用docker-compose进行部署,部署配置如下
version: '2' services: zookeeper: image: wurstmeister/zookeeper container_name: zookeeper_compose volumes: - /home/data/kafka/data:/data ports: - "2181:2181" kafka: image: wurstmeister/kafka container_name: kafka_compose ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 自己的IP KAFKA_MESSAGE_MAX_BYTES: 2000000 KAFKA_CREATE_TOPICS: "test" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /home/data/kafka/log:/kafka - /var/run/docker.sock:/var/run/docker.sock kafka-manager: image: sheepkiller/kafka-manager container_name: kafka_manager_compose ports: - 9020:9000 environment: ZK_HOSTS: zookeeper:2181
这个配置我们指定/home/data/kafka/data目录挂载zookeeper的data目录,/home/data/kafka/log目录挂载kafka日志目录,这个编排文件部署了3个服务,分别是zookeeper、kafka、kafka-manager三个服务,我们需要把IP替换成自己的IP,我们可以先试试kafka部署是否成功,输入以下命令进入到kafka
docker exec -it kafka_compose /bin/bash
然后我们进入到kafka目录
cd /opt/kafka/bin
我们先创建一个主题,名字为test
kafka-topics.sh --create --zookeeper 自己的IP:2181 --replication-factor 1 --partitions 8 --topic test
当前窗口生产对象
kafka-console-producer.sh --broker-list 自己的IP:9092 --topic test
另开一个窗口,创建消费对象
kafka-console-consumer.sh --bootstrap-server 自己的IP:9092 --topic test --from-beginning
这样我们就可以实现kafka生产以及消费过程。
0条评论