V5.0.X版本 EMQX安装、卸载 以及使用


回到目录    回到末尾

  EMQX为大规模分布式物联网 MQTT 消息服务器。提供高效可靠连接海量物联网设备,实时处理分发消息与事件流数据,助力构建关键业务的物联网平台与应用。

一、卸载

  1. 停止 EMQX Broker服务:emqx stop
    1
  2. 查看状态,确认已停止服务:systemctl status emqx
    1
  3. 卸载:取决于安装方式:
    (1)如果你带有yum,可以直接执行命令:yum remove emqx
    (2)如果是rpm包,则执行命令:rpm -e emqx
    (3)如果是tar包安装,直接删除 EMQX 目录即可 rm -rf emqx目录
    1
  4. 验证是否已经卸载完成:systemctl status emqx

回到目录    回到末尾

二、下载安装

2.1 下载

  1. 下载链接:emqx官网 - 版本下载
  2. 选择合适的版本下载:

希望使用rpm安装的,下载.rpm后缀的安装包;使用tar方式安装的,下载tar.gz安装包。

1

2.2 安装

  安装有2种方式:rpm安装和tar安装

2.2.1 rpm安装

  1. 安装:
    (1)如果你带有yum,可以直接执行命令:yum install 安装包.rpm
    (2)如果是rpm包,则执行命令:rpm -ivh 安装包.rpm --force --nodeps
#示例
rpm -ivh emqx-5.0.9-el7-amd64.rpm --force --nodeps

1

2.2.2 tar安装

这种方式启动和停止比较麻烦,不建议使用

  1. 创建目录:mkdir -p emqx && tar -zxvf 安装包.tar.gz -C emqx
#示例
mkdir -p emqx && tar -zxvf emqx-5.0.11-el7-amd64.tar.gz -C emqx
  1. 直接启动:./emqx/bin/emqx start
  2. 查看状态:bin/emqx_ctl status
  3. 停止 EMQX Broker:./bin/emqx stop

回到目录    回到末尾

2.3 启动测试

2.3.1 启动

  1. 启动emqx:
#执行命令
systemctl start emqx
# 或者
emqx start
  1. 查看启动状态:systemctl status emqx
    1
  2. 如果启动失败,点击参考启动异常及解决方案
  3. 启动成功:
      启动后,打开浏览器:http://IP:18083/
    登录:
默认账号:admin
默认密码:public

1

2.3.2 修改认证信息

登录成功后,会有提示要求修改密码,此时可以自定义设置密码。
2
1

如果访问不了,查看机器防火墙是否打开,该端口是否开放:

  • 查看状态: systemctl status firewalld # active (running) 即是开启状态
  • 查看已开放端口命令:firewall-cmd --list-all
    如果端口18083未开放:
    (1)新增开放端口:firewall-cmd --zone=public --add-port=18083/tcp --permanent
    (2)刷新加载:firewall-cmd --reload

回到目录    回到末尾

三、安装和启动过程中遇到的问题及解决方案

3.1 启动失败 - openssl not found

1
根据提示,我们查看启动失败日志:/usr/bin/emqx console
1
接着我们查看官网-对应常见错误,找到对应的解决办法:
1
详情参考:openssl升级安装
回到目录    回到末尾

3.2 启动失败 - cookie

从waring中可粗略获取的信息为:在服务器配置文件(emqx.conf)中的cookie配置项出现问题:
1
根据提示修改emqx的配置文件emqx.conf
·
修改的值可以用户自定义:
1
最后,重启服务器和emqx。
其他配置问题请查询官方文档:EMQX配置文件语法

回到目录    回到末尾

3.3 No such file or directory问题

load_failed,“Failed to load NIF library /usr/lib/emqx/lib/quicer-0.0.113/priv/libquicer_nif: ‘libatomic.so.1: cannot open shared object file: No such file or directory’”
1
如果报错显示没有这个文件夹或文件,找到电脑上对应名称的文件,并建立软连接到对应位置:

# 找到电脑中对应文件位置
find / -name libatomic.so.1
#建立软链接到 /usr/lib64位置
 ln -sf /usr/lib/emqx/dynlibs/libatomic.so.1 /usr/lib64/libatomic.so.1

1
再重新启动即可。

回到目录    回到末尾

3.4 port 4370 is in use 问题

1
启动时,遇到端口被占用的情况,有两种可能:
(1)检查防火墙是否打开,及对应端口号是否开放
(2)该端口被其他进程占用
针对不同情况的解决方法:

3.4.1 防火墙及端口

  1. 防火墙状态查看:systemctl status firewalld
    (1) # active (running) 即是开启状态
    (2)如果不是active状态,开启防火墙:systemctl start firewalld
  2. 查看端口是否开放:firewall-cmd --query-port=4370/tcp
    (1)yes即是开放状态
    1
    (2)否则开放端口:
#开放端口
firewall-cmd --zone=public --add-port=4370tcp --permanent
#重新加载
firewall-cmd --reload

1
回到目录    回到末尾

3.4.2 杀掉进程

  1. 查看进程占用: ps -ef|grep 4370
    1
  2. 杀掉进程占用:kill -9 进程号pid

以上排查后,再重新启动emqx即可

回到目录    回到末尾

3.5 其他问题

  1. 检查防火墙设置,确定防火墙正确打开,且对应的端口是开放的。emqx监听的端口参照配置文件(emqx.conf)中的配置。
  2. 检查日志文件:在emqx的安装目录下,可以找到logs目录,里面记录了日志文件,如果启动失败了,可以查看日志中的错误信息,帮助确定问题。
  3. 重启服务器和emqx.

回到目录    回到末尾

四、EMQX使用 - 创建规则引擎写入tDengine

  1. 启动emqx:systemctl start emqx
  2. 查看启动状态:systemctl status emqx
  3. 停止emqx:systemctl stop emqx

参考链接:emqx创建规则引擎写入tDengine

接下来演示一个一下emqx的简单使用案例:emqx存储数据到TDEngine数据库的详细配置过程

4.1 创建数据桥接

   数据桥接是用来对接 EMQX 和外部数据系统的通道。外部数据系统可以是 MySQL、MongoDB 等数据库, 也可以是 Kafka,RabbitMQ 等消息中间件,或者是 HTTP 服务器等。
   通过数据桥接,用户可以实时地将消息从 EMQX 发送到外部数据系统,或者从外部数据系统拉取数据并发送到 EMQX 的某个主题。

4.1.1 新建数据桥接 - Webhook

  1. 选择左边栏 “数据集成” - “数据桥接(Data Brige)”,点击新建:
    1
  2. 选择Webhook,点击next:
    3

4.1.2 .配置webhook连接信息

配置请求参数
(1)请求URL是http://tDengine的服务器IP:6041/rest/sql
(2) 请求方式为post
(3)添加 Authorization 请求头作为认证信息。
  Authorization 的值为 Basic + TDengine 的 {username}:{password} 经过 Base64 编码之后的字符串,
Base64 编码的获取方式,可以通过网页去获取:base64在线编码、解码工具

1
tDengin的默认账户和密码是 root:taosdata 编码后为 cm9vdDp0YW9zZGF0YQ==,
实际填入的值为:Basic cm9vdDp0YW9zZGF0YQ==
1
1
填写完成后,单击测试连接查看是否填写正确。
3
4
测试连接成功后,点击create 创建成功。
6
此时弹框提示:
(1)back to bridge list :回到桥接链表界面
(2)create rule:为该连接创建规则
这里一般我们选择create rule(创建关联规则).点击进入关联规则创建
回到目录    回到末尾

4.2 创建规则

  1. 点击规则引擎—》规则—新建
    1
  2. 填写如下,获取主题内容
    1
    3
    我的创建信息如下:
    1

4.3 创建websocket连接测试

  1. 在TDEngine数据库中创建表:collect_equ_status
    1
  2. 使用emqx的websocket工具,连接emqx的mqtt服务
    3
    3
  3. 给主题发送消息,消息内容如下
    3
    我的信息如下:
    1
    1
    在数据库查看数据是否插入成功:
    1

回到目录    回到末尾

五、日志配置及日志追踪

5.1 日志配置

   EMQX支持将日志输出到控制台或者日志文件,或者同时使用两者。MQX 的默认日志级别为 warning,默认在单日志文件超过10MB(log.rotation.size配置)的情况下,滚动日志文件。emqx.log.N 文件里面,包含了 warning 以及 warning 以上的日志消息。

  1. 修改日志配置有两种方式:
  • (1)可在 emqx.conf 中修改,emqx.conf相关日志配置如下:
log.to = file
log.level = warning
log.dir = /var/log/emqx
log.file = emqx.log
log.rotation.size = 10MB
log.rotation.count = 5
  • (2)可以使用EMQX命令行工具emqx_ctl在运行时修改emqx的日志级别,示例如下:
#将全局日志级别primary log level 以及所有 log handlers 的级别设置为debug:
emqx_ctl log set-level debug
#将主日志primary log level 设置为 debug:
emqx_ctl log primary-level debug
#修改某个 log handler的日志级别,如将log handler file设置为 debug:
emqx_ctl log handlers set-level file debug
#启动和停止某个已经的 log handler:
emqx_ctl log handlers start default
emqx_ctl log handlers stop default

log handler 是负责日志处理和输出的工作进程,它由 log handler id 唯一标识,并负责接收什么级别的日志、如何过滤日志消息、将日志输出到什么地方三项任务。

  1. 可以使用命令emqx_ctl log handlers list 查看当前的EMQX服务有哪些日志处理进程。emqx 4.3中安装的 log handlers如下:
$ emqx_ctl log handlers list
LogHandler(id=ssl_handler, level=debug, destination=console, status=started)
LogHandler(id=file, level=warning, destination=/var/log/emqx/emqx.log, status=started)

5.2 日志追踪

EMQX官网 - 日志追踪

   EMQX支持针对ClientID或Topic过滤日志并输出到文件。即我们可以将某个用户或某个主题的日志分离出来统计到指定日志文件中,在使用日志追踪功能之前,必须将 primary log level设置为debug,然后可以开始指定日志追踪规则。
&emps;&emps;日志追踪的原理是给 emqx 安装一个新的 log handler,并设置 handler 的过滤条件。在 日志级别和 log handlers 小节,我们讨论过 log handler 的细节。示例如下:

#开启ClientID日志追踪,将所有ClientID为 'my_client' 的日志都输出到log/my_client.log:
$ emqx_ctl log primary-level debug
debug
$ emqx_ctl trace start client my_client log/my_client.log
trace clientid my_client successfully
#开启Topic日志追踪,将主题能匹配到 't/#' 的消息发布日志输出到 log/topic_t.log:
$ emqx_ctl log primary-level debug
debug
$ emqx_ctl trace start topic 't/#' log/topic_t.log
trace topic t/# successfully
#查询已经开启的日志追踪:
$ emqx_ctl trace list

回到目录    回到末尾

六、更多

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: cgi-plus_v5.0.0.5_x86-x64.exe 是一个程序文件的名称,具体来说是一个 CGI Plus 的版本为 5.0.0.5 版本的可执行文件,适用于 x86 和 x64 架构的计算机系统。CGI Plus 是一个用于开发和执行 CGI(通用网关接口)的软件工具,用于在 Web 服务器上与应用程序进行通信。 CGI Plus 的主要功能是允许开发人员使用多种编程语言(如 Perl、Python、C++等)来创建交互性的网页应用程序。它允许用户通过将用户请求传递给服务器端脚本进行处理,并将处理结果返回给用户,从而实现网页与服务器的交互。 版本号为 5.0.0.5 的 CGI Plus 除了提供了基本的 CGI 功能外,可能还包含一些新的功能或修复了一些 bug。由于信息有限,具体的更新内容需要进一步的参考官方文档或软件说明。 该文件的适用性为 x86-x64,表示它可以在支持 x86 或 x64 架构的计算机上运行。x86 和 x64 是计算机的处理器架构,在选择安装或运行该文件时需要根据自己的计算机架构进行选择。 总之,cgi-plus_v5.0.0.5_x86-x64.exe 是一个用于开发和执行 CGI 的软件工具的可执行文件,用户可以通过该文件创建交互性的网页应用程序,并实现与服务器的交互。 ### 回答2: cgi-plus_v5.0.0.5_x86-x64.exe是一个Windows操作系统上的可执行文件,它是CGI Plus软件的安装程序。CGI Plus是一款应用于网站开发中的工具,用于管理和处理网站上的CGI脚本。它支持多种脚本语言,包括Perl、Python、Ruby等,可以帮助开发人员简化脚本的编写和管理过程。 通过安装cgi-plus_v5.0.0.5_x86-x64.exe,用户可以将CGI Plus集成到其Windows系统中,以便在开发网站时更方便地处理和管理CGI脚本。安装过程中用户需要按照提示进行一些设置和配置,如选择安装的目录和运行模式等。安装完成后,用户可以通过CGI Plus提供的功能来处理和管理网站上的CGI脚本。 使用CGI Plus,开发人员可以通过简单的配置和操作来实现网站的各种功能,如表单处理、数据库连接、文件上传等。它提供了一些常用的函数和模块,可以大大简化脚本的编写和调试过程。此外,CGI Plus还支持调试功能,方便开发人员定位和修复脚本中的错误。 总结来说,cgi-plus_v5.0.0.5_x86-x64.exe是CGI Plus软件的安装程序,它帮助开发人员在Windows系统上更方便地处理和管理网站上的CGI脚本,简化了网站开发的过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值