zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

EMQX集成Kafka插件emqx_plugin_kafka,安装EMQX(二)

2023-04-18 16:29:37 时间

        上一章主要说明了安装kafka前期的一些步骤,包括安装jdk1.8、zookeeper等,接下来主要就是通过源码编译安装emqx了,由于emqx是由erlang语言编写的,要想通过源码来编译安装emqx,那指定少不了erlang了。

1、安装erlang(这里推荐Erlang/OTP 22及以上)

        (1)下载otp_src_23.3.tar.gz压缩包,通过wget下载很慢,可以去网上找一下百度网盘资源,也可以私信我发给你

wget http://erlang.org/download/otp_src_23.3.tar.gz

        (2)解压到当前文件夹

tar -zxvf otp_src_22.3.tar.gz

        (3)安装erlang需要很多依赖、插件的支持,下面的依赖依次安装(不出意外安装的都很快,如下图所示即安装成功)

yum install -y perl
yum install -y ncurses-devel
yum install -y openssl openssl-devel 
yum install -y unixODBC-devel
yum install -y gcc-c++

         (4)配置安装(下图的警告没有影响,照样可以使用)

mkdir /usr/local/software/erlang                 //创建erlang的安装路径
./configure --prefix=/usr/local/software/erlang  //后面跟的是你erlang所安装的地址

         (5)编译安装(注意执行编译命令一直要在erlang的目录下,不然会报错找不到makefile文件,编译需要一段时间,耐心等待,有一些警告是可以忽略的)

make && make install

         (6)开始配置环境,打开/etc/profile文件

export PATH=$JAVA_HOME/bin/:$PATH:/usr/local/software/erlang/bin:$PATH  //PATH后面的地址根据安装实际地址来

        (7)验证erlang是否安装成功(出现如下图所示即安装成功)

source /etc/profile   //更新配置文件
erl        //进入erlang

2、安装高版本的git(由于后面的rebar编译和emqx编译都需要高版本的git,通过yum安装的版本较低,普遍为1.8,满足不了后面emqx编译的要求,所以先提前安装了)

        (1)下载高版本的git压缩包(下载不了就去官网下载好上传到服务器,Releases · git/git · GitHub

wget https://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz

        (2)解压缩

tar -xvzf git-2.9.0.tar.gz

        (3)下载编译工具

yum -y groupinstall "Development Tools"

        (4)下载git依赖包

yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel

        (5) 配置安装

./configure --prefix=/usr/local/software/git-2.9.0

        (6)编译安装(大概一分钟时间)

make && make install

        (7)配置环境变量。打开/etc/profile文件

export PATH="/usr/local/software/git-2.9.0/bin:$PATH"

        (8)检查是否安装成功

source /etc/profile  //更新配置文件
git --version   //查看git版本

3、安装rebar3(安装erlang之后,自然少不了erlang的构建工具rebar3了)

        (1)下载rebar3源码

git clone https://github.com/erlang/rebar3.git

        (2)解压zip压缩包

unzip rebar3-main.zip

        (3)配置安装(这个过程很慢,容易卡死,多试几次)如下图所示配置成功

cd rebar3-main
./bootstrap

         (4)配置安装之后会生成一个rebar3文件,进行编译安装

./rebar3 local install

        (5)配置环境变量,打开/etc/profile文件,默认情况下都是此环境变量

export PATH=/root/.cache/rebar3/bin:$PATH

        (6)更新配置文件,查看rebar3是否安装成功(如下图所示安装成功)

source /etc/profile    //更新配置文件
rebar3 --version     //查看rebar3的版本

 4、安装emqx,集成kafka插件

        (1)我在github上找到已经集成kafka插件的emqx源码,直接拉下来编译安装即可

git clone https://github.com/ULTRAKID/emqx.git

        (2)进入emqx,执行make,编译安装(过程及其缓慢,我编译了一天...所以有条件的就翻外网,因为都是从github上下载依赖)

cd emqx/
make

        (3)编译完成的目录,多了一个_build目录

       (4)修改kafka配置,由于已经集成了kafka插件,所以有点配置还是需要自己手动配置,比如topic和ip等

cd emqx/_build/emqx/rel/emqx/etc/plugins/  
vi emqx_plugin_kafka.conf

        (5)启动emqx(进入bin目录下)

cd emqx/_build/emqx/rel/emqx/bin/
./emqx start

        (6)emqx是有图形化界面的,地址为系统本机ip地址,端口为18083,如果没有关闭防火墙的话就需要开放一下端口了,界面的登陆账号密码为 admin  public。

        (7)开启kafka插件,前提是得先启动kafka,emqx的消息转发到kafka的topic默认是emqx-topic,可以在上面的配置文件中修改,一旦有消息发送,kafka的topic自动创建。

 5、测试emqx转发数据到kafka的流程

       (1)进入emqx的图形用户界面,在设置中可以调成中文,进入工具->websocket一栏

        (2)点击连接到emqx,在下方可以模拟发送数据到emqx,topic随便定义,这个是emqx的topic,跟kafka的topic没有关系。

         (3)点击发送之后,在kafka监听一下,看是否能获取到数据

         (4)能获取到数据,代表插件已集成并成功启动,如果没收到数据的话看看ip地址是否对应,不推荐使用localhost,直接用本机系统ip会省去一些麻烦。

到此,emqx集成kafka插件已完成,后面搭建kafka集群的时候也可同样操作,之后就是安装一下存储中间件了,influxdb、mysql等,kafka监听到的数据也是需要存储的嘛,那就等下一章再写咯?!