EMQ 安装 Kafka 插件,将消息存入 Kafka

  • Post author:
  • Post category:其他




EMQ 介绍

EMQ 2.0 完整支持 MQTT V3.1/V3.1.1 版本协议规范,并扩展支持 WebSocket、Stomp、CoAP、MQTT-SN 或私有 TCP 协议。EMQ 2.0 消息服务器支持单节点100万连接与多节点分布式集群。

EMQ 2.0 为大规模客户端连接 (C1000K+) 的移动推送、移动消息、物联网、车联网、智能硬件等应用,提供一个完全开放源码、安装部署简便、企业级稳定可靠、可弹性扩展、易于定制开发的 MQTT 消息服务器。



环境准备

CentOS 7

JDK 1.8

Kafka



安装Erlang

二、 安装Erlang

1、下载erlang

yum install wget #安装wget插件,若已安装可以忽略

wget

http://erlang.org/download/otp_src_19.3.tar.gz


2、使用yum安装下必须的配件

yum install gcc* glibc-devel make ncurses-devel openssl-devel autoconf -y

yum install unixODBC unixODBC-devel -y

3、开始安装

tar -zxvf otp_src_19.3.tar.gz

cd otp_src_19.3

./configure –prefix=/usr/local/erlang #这步可能会出现提示提示缺少的组件,详情见常见问题

make && make install #超慢

ln -s /usr/local/erlang/bin/erl /usr/local/bin/

ln -s /usr/local/erlang/bin/erlc /usr/local/bin/

ln -s /usr/local/erlang/bin/escript /usr/local/bin/

4、测试安装

输入命令:

erl

若出现下面的提示则证明安装成功。

在这里插入图片描述

按Ctrl+C后输入a退出命令。

5、常见问题


********************** APPLICATIONS DISABLED **********************


jinterface : Java compiler disabled by user



********************** APPLICATIONS INFORMATION *******************


wx : wxWidgets not found, wx will NOT be usable



********************** DOCUMENTATION INFORMATION ******************


documentation :

fop is missing.

Using fakefop to generate placeholder PDF files.


其中APPLICATIONS DISABLED 标示是必须要安装的,另外两个项目可以忽略

jinterface : Java compiler disabled by user

如果不用java编译可以忽略 在编译的时候 加入–without-javac



安装Rebar

1、下载Rebar

cd /usr/local

yum install git -y #安装git插件,若已安装可以忽略

git clone git://github.com/rebar/rebar.git

2、开始安装

yum -y install gcc* gcc-c++ make*

cd rebar

./bootstrap

3、配置环境变量

配置环境变量

vi /etc/profile

export PATH=/usr/local/rebar:$PATH

执行文件:

source /etc/profile

4、测试安装

输入命令:

rebar -V

若出现如下提示,则证明安装成功

在这里插入图片描述



使用源码安装EMQ

1、下载EMQ

cd /usr/local

wget

https://codeload.github.com/emqx/emqx-rel/tar.gz/v2.3.11


2、编译安装

tar -zxvf emqx-rel-2.3.11.tar.gz

cd emqx-rel-2.3.11

make #编译(超慢)

若make中出现问题,一般是没有安装相应的插件,使用yum安装即可。见常见问题。

3、性能调优

优化设置 Erlang 虚拟机启动参数

vi /usr/local/emqx-rel-2.3.11/_rel/emqttd/etc/emq.conf

#关闭匿名认证

mqtt.allow_anonymous = false

Erlang Process Limit

node.process_limit = 2097152

#Sets the maximum number of simultaneously existing ports for this system

node.max_ports = 1048576

EMQ 消息服务器参数

设置 TCP 监听器的 Acceptor 池大小,最大允许连接数:

#SSL Listener

listener.ssl.external = 0.0.0.0:8883

listener.ssl.external.acceptors = 64

listener.ssl.external.max_clients = 1000000

4、常见问题

若编译过程中遇到如下错误,Ctrl+C取消编译,重新输入make编译。

在这里插入图片描述



安装EMQ-Kafka插件

1、参数配置

(1)vi /usr/local/emqx-rel-2.3.11/Makefile

添加:

DEPS += emqttd_kafka_bridge

dep_emqttd_kafka_bridge = git

https://github.com/shsjdcbg/emq-kafka.git


(2)vi /usr/local/emqx-rel-2.3.11/relx.config

在中 release 段落添加:

{emqttd_kafka_bridge, load}

2、编译

cd /usr/local/emqx-rel-2.3.11

make

3、配置Kafka插件

vi /usr/local/emqx-rel-2.3.11/_rel/emqttd/etc/plugins/emqttd_kafka_bridge.config

修改bootstrap_broker参数为Kafka为IP和端口

kafka_producer_topic为Kafka主题,需要提前在Kafka中创建主题,创建主题命令见六。

4、启动EMQ

cd /usr/local/emqx-rel-2.3.11/_rel/emqttd/bin

./emqttd start

查看日志(/usr/local/emqx-rel-2.3.11/_rel/emqttd/log)无报错则安装成功。

访问ip:18083地址可以查看EMQ 控制台。

存入Kafka消息格式{“topic”:””, “message”:[{}]}



版权声明:本文为ddxshf原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。