kafka

docker compose 部署kafka

参考: docker-compose安装kafka集群和kafka-manager管理界面 Kafka Docker-官方 使用docker安装kafka - CSDN博客

#示例
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper ## 镜像
# ports:
# - "2181:2181" ## 对外暴露的端口号
kafka:
image: wurstmeister/kafka ## 镜像
# ports:
# - "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka ## 修改:宿主机IP
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 ## 卡夫卡运行是基于zookeeper的
depends_on:
- zookeeper
kafka-manager:
image: sheepkiller/kafka-manager ## 镜像:开源的web管理kafka集群的界面
environment:
ZK_HOSTS: zookeeper:2181 ## 修改:宿主机IP
ports:
- "9000:9000" ## 暴露端口
depends_on:
- kafka

测试命令 参考: kafka实战 - 嘿123 - 博客园 Gobblin部署--standalone模式 - CSDN博客 Gobblin部署--mapreduce模式 - CSDN博客

打开管理界面(locahost:9000),创建一个cluster,并创建一个topic(demo)。 然后测试发送和接受消息 http://kafka.apache.org/documentation.html#quickstart

# consumer
## 进入容器
docker exec -it kafka_kafka_1 /bin/sh
## 进入容器后执行,等待消息
kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic demo --from-beginning
# producer
## 进入容器
docker exec -it kafka_kafka_1 /bin/sh
## 进入容器后执行
kafka-console-producer.sh --broker-list kafka:9092 --topic demo
## 然后试着输入一些文本来发送消息,查看消息接收

杂项

拼接jar包依赖路径

--jars `ls /home/hdfs/test/gobblin-dist/lib/* | tr "\n" ","`