EMQ X Broker 启动

以下的 shell 命令,都是在 emqx 的安装目录下进行的,因此需要先执行:

cd <emqx安装目录>

一、启停管理

启动 EMQ X Broker

sudo bin/emqx start

停止 EMQ X Broker

sudo bin/emqx stop

1.1 启动失败

参考自 4.1.x 版本常见错误

我遇到了 EMQ X Broker v4.1.1 failed to start within 15 seconds 错误,执行 ./bin/emqx console 输出的错误内容包含:

{application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypto}}}, ..}

原因是 4.1.x 需要 OPENSSL 大于 1.0.2

1.1.1 查看已安装的openssl包

rpm –qa | grep openssl

2.1.2 卸载已安装的openssl包

sudo rpm -e --justdb --nodeps <yourpackage>

1.1.3 openssl_lib安装

前两步已经清理好了老的openssl_lib,现在可以安装新版本了:

sudo rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm

1.2 修改node.name之后重启

停止 emqx 后,修改 etc/emqx.conf 文件中的 node.name 的值之后,重启前需要做一些清理工作

如果是用命令 sudo bin/emqx start 启动的,那么将存在 data/root_erl_pipes 目录

同理,如果你用 bin/emqx start 启动emqx,那么将存在 data/<当前用户的用户名>_erl_pipes 目录

我们需要在重启前清除这些目录

1.2.1 删除

删除 data/root_erl_pipes 目录

rm -rf data/root_erl_pipes/

删除所有 xxx_erl_pipes 之后,你就可以重启了~

二、插件管理

查看所有插件:

bin/emqx_ctl plugins list

查看特定插件,如 emqx_dashboard

bin/emqx_ctl plugins list | grep emqx_dashboard

结果如下:

Plugin(emqx_dashboard, description=EMQ X Web Dashboard, active=false)
  • active=false 表示状态不活跃(未启动)

重启插件

bin/emqx_ctl plugins reload emqx_dashboard

三、设置crontab自动重启

3.1 新建/更新/删除定时任务

crontab –e

3.2 crontab表达式

Linux crontab 在线工具 https://tool.lu/crontab/

例如:

*/5 * * * * /bin/bash /home/geekziyu/emqx_monitor.sh

/home/geekziyu/emqx_monitor.sh 脚本内容如下:

#!/bin/bash
time=$(date "+%Y-%m-%d %H:%M:%S")
if [ `ps -ef | grep emqx | grep -v grep | wc -l` -ge 4 ];then
echo $time      runing >> /home/geekziyu/emqx_reboot_log
else
cd /home/geekziyu/emqx_deploy_411/emqx/bin
sudo ./emqx start
echo $time      reboot >> /home/geekziyu/emqx_reboot_log
fi

3.3 查看定时任务

crontab –l

四、集群管理

查看集群状态:

bin/emqx_ctl cluster status

初始状态是每个单机各自都是一个“集群”,互相独立。

加入集群:

bin/emqx_ctl cluster join <node.name>

表示当前节点接入到 <node.name> 所在的集群中

退出集群:

bin/emqx_ctl cluster leave
posted @ 2021-12-09 10:08  极客子羽  阅读(2665)  评论(0编辑  收藏  举报