emqx_plugin_kafka

Ultrakid 504d4dbeeb - 功能说明/问题现象: 将kafka的依赖库从ekaf替换为brod vor 3 Jahren
.rebar3 26e4f21741 caijinpeng vor 4 Jahren
ebin 26e4f21741 caijinpeng vor 4 Jahren
etc 504d4dbeeb - 功能说明/问题现象: 将kafka的依赖库从ekaf替换为brod vor 3 Jahren
src 504d4dbeeb - 功能说明/问题现象: 将kafka的依赖库从ekaf替换为brod vor 3 Jahren
test 26e4f21741 caijinpeng vor 4 Jahren
.gitignore 26e4f21741 caijinpeng vor 4 Jahren
LICENSE 26e4f21741 caijinpeng vor 4 Jahren
Makefile 26e4f21741 caijinpeng vor 4 Jahren
README.md cc6c9dd214 - 功能说明/问题现象: 补充Erlang版本选择的注意事项 vor 3 Jahren
TODO 26e4f21741 caijinpeng vor 4 Jahren
rebar.config 504d4dbeeb - 功能说明/问题现象: 将kafka的依赖库从ekaf替换为brod vor 3 Jahren
rebar.config.script 2086d9210f 适配emqx v4.3版本 vor 3 Jahren

README.md

适配emqx v4.3版本

emqx-plugin-template

emqx/emqx-plugin-template at emqx-v4 (github.com) This is a template plugin for the EMQ X broker.

Plugin Config

Each plugin should have a 'etc/{plugin_name}.conf|config' file to store application config.

Authentication and ACL

emqx:hook('client.authenticate', fun ?MODULE:on_client_authenticate/3, [Env]).
emqx:hook('client.check_acl', fun ?MODULE:on_client_check_acl/5, [Env]).

Build the EMQX broker

1. 基于CentOS7.5环境下编译,先安装相关插件
  yum -y install make gcc gcc-c++ glibc-devel glibc-headers kernel-devel kernel-headers m4 ncurses ncurses-devel openssl openssl-devel openssl-libs zlib zlib-devel libselinux-devel xmlto perl git wget
  
  注意:openssl的版本不是1.1.1k,则需要通过源码openssl-1.1.1k.tar.gz来安装openssl
2. 准备Erlang/OTP R21及以上环境

注:由于本插件引用的第三方依赖ekaf中使用了pg2模块,该模块在OTP 24及之后的版本已被官方移除,因此请使用OTP 24以下的版本

  • pg2:/ (this module was removed in OTP 24. Use 'pg' instead)

Erlang -- Removed Functionality

参照Erlang and Elixir Packages Download - Erlang Solutions (erlang-solutions.com) 官网安装方式。

3. 下载EMQX源码

官方源码仓库地址为emqx/emqx: An Open-Source, Cloud-Native, Distributed MQTT Message Broker for IoT. (github.com) ,分支为main-v4.3

本人修改了官方的编译脚本,并且在插件目录里添加了该kafka插件的信息,仓库地址为ULTRAKID/emqx at main-v4.3 (github.com) ,分支为main-v4.3

4. 修改EMQX文件,增加kafka插件

参照emqx/README.md at main-v4.3 · ULTRAKID/emqx (github.com)

注:ULTRAKID/emqx at main-v4.3 (github.com) 仓库内已进行此项修改。

5. 编译EMQX,并且启动EMQX

进入emqx目录,执行make命令,需要保持外网通畅,有条件建议科学上网。

二进制编译命令:make

docker镜像打包:make emqx-docker

License

Apache License Version 2.0

Author

EMQ X Team.