【物联网08】EMQX连接kafka

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34614756/article/details/85774769

一、添加 emqx_kafka_bridge 插件

  1. 下载emqx源码:
    git clone https://github.com/emqx/emqx-rel.git
  2. 修改Makefile
DEPS += $(foreach dep,$(OUR_APPS),$(call app_name,$(dep)))
DEPS += emqx_kafka_bridge

# Inject variables like
# dep_app_name = git-emqx https://github.com/emqx/app-name branch-or-tag
# for erlang.mk
$(foreach dep,$(OUR_APPS),$(eval dep_$(call app_name,$(dep)) = git-emqx https://github.com/emqx/$(dep) $(call app_vsn,$(dep))))
dep_emqx_kafka_bridge = git https://github.com/fanbaobo/emqx_kafka_bridge.git master
  1. 修改relx.config
    {emqx_kafka_bridge,load}
  2. 执行命令
rm -rf _rel		//删除之前编译的结果
make clean
make

5.修改/usr/local/emq-relx/_rel/emqx/etc/plugins/emqx_kafka_bridge.conf

  • kafka.host = 192.168.244.131 //ip修改为自己虚拟机的IP

6.在dashboard上开启emqx_kafka_bridge或者使用下列命令开启。

  • emqx_ctl plugins load emqx_kafka_bridge

二、使用emqx_kafka_bridge插件

  1. 打开emqx: emqx start
  2. 打开zookeeper : zkServer.sh start
  3. 打开kafka: bin/kafka-server-start.sh config/server.properties &
  4. 启动Processing消费者:
    bin/kafka-console-consumer.sh --bootstrap-server zoo-1:9092,zoo-2:9092,zoo-3:9092 --topic Processing --from-beginning
  5. 使用MQTT客户端(我用的是MQTTBox),发布一个任意topic的message,可以在消费者界面看到,存入kafka的消息格式。

三、过程图示:

  1. MQTT客户端发布topic为“123”的消息
    在这里插入图片描述

  2. 消费者端接收到的消息

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34614756/article/details/85774769
今日推荐