Docker搭建Kafka


前言

最近学习开源物联网平台Thingsboard项目,项目中用到zookeeper、kafka等中间件,这里在本机使用docker搭建kafka的本地开发环境,docker以及docker-compose怎么安装这里不做赘述


一、搭建步骤

1.选择版本

因为thingsboard3.2官方使用的zookeeper版本是3.5,kafka版本是2.12-2.3.0,跟他的版本保持一致

2.编写docker-compose文件

代码如下(示例):

version: '3'
services:
  zookeeper:
    image: zookeeper:3.5
    container_name: zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka:2.12-2.3.0
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 172.16.103.2
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_BROKER_ID: 1
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.103.2:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
    container_name: kafka
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

注意:KAFKA_ADVERTISED_HOST_NAME需要填docker宿主机的IP,不要填localhost或者127.0.0.1,KAFKA_ZOOKEEPER_CONNECT里面的主机名用上面zookeeper的容器名

3.运行容器

在docker-compose对应的文件夹下运行以下命令:

docker-compose up -d

总结

之前用wurstmeister/zookeeper的这个zookeeper镜像搭起来跟thingsboard的不兼容有报错,但是改wurstmeister/zookeeper版本很麻烦,https://github.com/wurstmeister/zookeeper-docker/blob/master/Dockerfile里面的改个版本号对应的下载链接都没有了,所以直接替换了kafka官方的镜像,最后thingsboard里有个js执行器需要用到zookeeper,所以单独启动一个js执行器的镜像使用这个zookeeper

docker run -d --name js-executor --link zookeeper:zookeeper --net desktop_default -e TB_KAFKA_SERVERS="kafka:9092" chengpeipei/js-executor:3.2

其中desktop_default是通过docker inspect zookeeper,找到Networks信息确定的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值