背景
最近在做物联网平台性能分析,最终选择EMQX作为对比对象。我小试牛刀地搭建了一下EMQX,并顺便安装了一下EMQX的Dashboard插件:emqx-dashboard。
简介:
EMQX:EMQ X (Erlang/Enterprise/Elastic MQTT broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。
EMQX-Dashboard:EMQ X的Web控制台,项目地址:https://github.com/emqx/emqx-dashboard.git
安装
EMQX安装
1.安装所需要的依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2. 使用以下命令设置稳定存储库,以 CentOS7 为例
sudo yum-config-manager --add-repo https://repos.emqx.io/emqx-ce/redhat/centos/7/emqx-ce.repo
3. 安装最新版本的 EMQ X broker
sudo yum install emqx
4. 启动并检查状态
emqx start &&
emqx_ctl status
EMQ-Dashboard安装
我的机器环境为Centos7,部分软件使用yum安装,如果你的是Ubuntu可以参考使用apt安装对应软件。
- 下载源码:git clone https://github.com/emqx/emqx-dashboard.git
- 编译插件:make && make ct
emqx加载插件:./bin/emqx_ctl plugins load emqx_dashboard
以上是github的README中介绍的三步,但实际操作的时候,在make就会卡主,因为make对系统中工具有依赖。
EMQ-Dashboard踩坑
以下是系统必须满足的四个基础:
- 已安装rebar3
- 已安装erlang
- git版本>1.8.3.1
- gcc-c++
1)安装rebar3
如果系统中未安装rebar3,则会报错:rebar3:command not found
rebar3安装
下载地址:https://github.com/erlang/rebar3/releases
安装过程
wget https://github.com/erlang/rebar3/releases/download/3.14.3/rebar3
chmox +x rebar3 && cp rebar3 /usr/bin/
2)安装erlang
如果系统中未安装erlang,则会报错:/usr/bin/env: escript: No such file or directory
3) git版本升级到1.8.5以上
如果系统中的git版本低于1.8.5,则会报错:Can't lock git dependency: git version must be 1.8.5 or higher.
参考:升级git版本
4)gcc-c++安装
yum install gcc-c++以上基础环境安装完后,再进行后续操作。
编译插件
执行:make && make ct
配置dashboard
配置文件:emqx-dashboard/etc/emqx_dashboard.conf#默认即可
dashboard.listener = 18083
dashboard.listener.acceptors = 2
dashboard.listener.max_clients = 512
加载插件
emqx_ctl plugins load emqx_dashboard
登陆
URL: http://{实际的ip}:18083 账号: admin 密码: public界面
看到如下页面则表示emqx和emq-dashboard均安装成功。
本文安装方式参考了官网文档:
https://docs.emqx.cn/cn/broker/latest/getting-started/install.html#%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E5%AE%89%E8%A3%85-linux
博主:测试生财
座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务自由。
csdn:https://blog.csdn.net/ccgshigao
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。