EMQX功能强大,但是帮助信息或者可用资料的确有限,遇到个问题,比较难找到处理的头绪,今天,我要记录的是,使用中出现EMQX宕机,但是呢,启动也启动不了。 今天记录的内容,就以操作EMQX 3.2.3的版本来说吧。

你可能看到有下面的信息:

[root@tkwh-kfcs-app3 emqx]# emqx start
emqx v3.2.3 is started successfully!

但是呢,你查看状态,又会看到下面的内容:

[root@tkwh-kfcs-app3 emqx]# emqx_ctl status
Node 'emqx@10.95.200.13' not responding to pings

这个是什么情况呢?其实就是EMQX启动异常了,然后又shutdown了,看看日志,在/var/log/emqx下面的 erlang.log.1 文件里面可以找到些许的信息。

       =====
===== LOGGING STARTED Fri Oct :: CST
=====
Exec: /usr/lib/emqx/erts-10.3/bin/erlexec -boot /usr/lib/emqx/releases/v3.2.3/emqx -mode embedded -boot_var ERTS_LIB_DIR /usr/lib/emqx/erts-10.3/../lib -mnesia dir "/var/lib/emqx/mnesia/emqx@10.95.200.13" -config /var/lib/emqx/c
onfigs/app.2019.10.25.10.55.38.config -args_file /var/lib/emqx/configs/vm.2019.10.25.10.55.38.args -vm_args /var/lib/emqx/configs/vm.2019.10.25.10.55.38.args -- console^M
Root: /usr/lib/emqx^M
/usr/lib/emqx^M
Erlang/OTP [erts-10.3] [source] [-bit] [smp::] [ds:::] [async-threads:] [hipe]^M
^M
-- ::43.487 [info] event=server_setup_successfully driver=tcp socket="#Port<0.8>"^M
-- ::43.488 [info] event=start^M
Starting emqx on node emqx@10.95.200.13^M
-- ::43.562 [info] Ekka(Membership): Node emqx@10.95.200.22 up^M
-- ::43.580 [notice] application: emqx^M
exited: {bad_return,^M
{{emqx_app,start,[normal,[]]},^M
{'EXIT',^M
{{badmatch,^M
{error,^M
{shutdown,^M
{failed_to_start_child,emqx_router_sup,^M
{shutdown,^M
{failed_to_start_child,helper,^M
{{badmatch,{error,{not_active_local,emqx_routing_node}}},^M
[{emqx_router_helper,init,,^M
[{file,^M
"/emqx_temp/emqx_rel/_checkouts/emqx/src/emqx_router_helper.erl"},^M
{line,}]},^M
{gen_server,init_it,,^M
[{file,"gen_server.erl"},{line,}]},^M
{gen_server,init_it,,^M
[{file,"gen_server.erl"},{line,}]},^M
{proc_lib,init_p_do_apply,,^M
[{file,"proc_lib.erl"},{line,}]}]}}}}}}},^M
[{emqx_app,start,,^M
[{file,^M
"/emqx_temp/emqx_rel/_checkouts/emqx/src/emqx_app.erl"},^M
{line,}]},^M
{application_master,start_it_old,,^M
[{file,"application_master.erl"},{line,}]}]}}}}^M
type: permanent^M
[os_mon] memory supervisor port (memsup): Erlang has closed^M
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed^M
{"Kernel pid terminated",application_controller,"{application_start_failure,emqx,{bad_return,{{emqx_app,start,[normal,[]]},{'EXIT',{{badmatch,{error,{shutdown,{failed_to_start_child,emqx_router_sup,{shutdown,{failed_to_start_chi
ld,helper,{{badmatch,{error,{not_active_local,emqx_routing_node}}},[{emqx_router_helper,init,,[{file,\"/emqx_temp/emqx_rel/_checkouts/emqx/src/emqx_router_helper.erl\"},{line,95}]},{gen_server,init_it,2,[{file,\"gen_server.erl\
"},{line,374}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,342}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,249}]}]}}}}}}},[{emqx_app,start,2,[{file,\"/emqx_temp/emqx_rel/_checkouts/emqx/src/emqx_app
.erl\"},{line,32}]},{application_master,start_it_old,4,[{file,\"application_master.erl\"},{line,277}]}]}}}}}"}^M^M
Kernel pid terminated (application_controller) ({application_start_failure,emqx,{bad_return,{{emqx_app,start,[normal,[]]},{'EXIT',{{badmatch,{error,{shutdown,{failed_to_start_child,emqx_router_sup,{sh^M^M
^M^M
Crash dump is being written to: /var/log/emqx/crash.dump...done^M^M

什么意思呢?其实就是在安装路径的/var/lib/emqx下面有些异常数据,导致emqx启动时做数据同步时,出现错误,最后就宕机了。解决办法,就是将/var/lib/emqx下的数据清除掉,然后重新安装,当然,相关的配置,需要再次配置一下。

最后,再次将emqx安装一遍,就没有什么问题了。

 

MQTT研究之EMQ:【EMQX使用中的一些问题记录(3)】的更多相关文章

  1. MQTT研究之EMQ:【CoAP协议应用开发】

    本博文的重点是尝试CoAP协议的应用开发,其中包含CoAP协议中一个重要的开源工具libcoap的安装和遇到的问题调研.当然,为了很好的将EMQ的CoAP协议网关用起来,也调研了下EMQ体系下,CoA ...

  2. MQTT研究之EMQ:【EMQ之HTTP认证/访问控制】

    今天进行验证的逻辑是EMQ的http的Auth以及ACL的逻辑. 首先,参照HTTP插件认证配置的说明文档进行基本的配置, 我的配置内容如下: ##-------------------------- ...

  3. MQTT研究之EMQ:【JAVA代码构建X509证书【续集】】

    openssl创建私钥,获取公钥,创建证书都是比较简单的,就几个指令,很快就可以搞定,之所以说简单,是因为证书里面的基本参数配置不需要我们组装,只需要将命令行里面需要的几个参数配置进去即可.但是呢,用 ...

  4. MQTT研究之EMQ:【SSL证书链验证】

    1. 创建证书链(shell脚本) 客户端证书链关系: rootCA-->chainca1-->chainca2-->chainca3 ca caCert1 caCert2 caCe ...

  5. MQTT研究之EMQ:【EMQX使用中的一些问题记录(4)】

    最近比较忙,有些关于EMQ的使用问题,没有时间记录了,趁这个周末抽点时间,将最近遇到的,觉得比较有价值的一个问题,分享给大家吧. 这里是针对前面的一篇博客,做的一个深入研究,关于订阅系统总线判断设备上 ...

  6. MQTT研究之EMQ:【EMQX使用中的一些问题记录(1)】

    issue 1. EMQX的共享订阅 EMQX是一个非常强大的物联网通信消息总线,基于EMQX开展应用开发,要注意很多配置细节问题,这里要说到的就是共享订阅以及和cleanSession之间的关系问题 ...

  7. MQTT研究之EMQ:【EMQX使用中的一些问题记录(2)】

    我的测试环境: Linux: CentOS7 EMQX:V3.2.3 题外话: 这里主要介绍Websocket的支持问题. 对ws的支持比较正常,但是对wss的支持,调了较长的时间,没有成功. Jav ...

  8. MQTT研究之EMQ:【JAVA代码构建X509证书】

    这篇帖子,不会过多解释X509证书的基础理论知识,也不会介绍太多SSL/TLS的基本信息,重点介绍如何用java实现SSL协议需要的X509规范的证书. 之前的博文,介绍过用openssl创建证书,并 ...

  9. MQTT研究之EMQ:【基础研究】

    EMQ版本V2, emqttd-centos7-v2.3.11-1.el7.centos.x86_64.rpm 下载地址:http://emqtt.com/downloads/2318/centos7 ...

随机推荐

  1. IP切换小技巧

    说到这个问题很多人都有同感.公司一般使用的都是静态的IP(如图:使用下面的IP地址),而我们在外面是用的一般是动态获取的IP(如图:自动获得IP地址),因此就产生了一个问题,需要来回切换IP,也就是需 ...

  2. 实例讲解ip地址、子网掩码、可用地址范围的计算

    关于ip以及相关的掩码.网络号等概念可以查看相关的博客.资料,这些东西很容易找着,一搜一大片.本文主要记录通过实例进行ip相关的计算. 我自己使用的在线网络计算器地址:https://www.sojs ...

  3. 浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系

    文章背景: 相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧. 本文主要从下面两类关系来叙述上面三者的关系: 数据库 ...

  4. 图论 - 图的深度优先遍历c++实现

    图的深度优先遍历c++实现 深度优先搜索 邻接矩阵的创建 int i, j, m, a, b; cin >> n >> m; //初始化二维矩阵 for (i = 1; i & ...

  5. ORM概述(对象关系映射)

    ORM概述: ORM(Object-Relational Mapping)表示对象关系映射.在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中.只要有一套程序能够做到加你对象与数据库 ...

  6. CSS Cross-Browser Inline-Block

    低版本的IE,火狐 不支持  Inline-Block 属性,想要达到目的我们需要多做一些额外的工作 , 参考页面为:https://blog.mozilla.org/webdev/2009/02/2 ...

  7. sparkjob的提交流程

    在使用spark-submit提交一个Spark应用之后,Driver程序会向集群申请一定的资源来启动东若干个Executors用来计算,当这些Executors启动后,它们会向Driver端的Sch ...

  8. 加深对 JavaScript This 的理解

    我相信你已经看过很多关于 JavaScript 的 this 的谈论了,既然你点进来了,不妨继续看下去,看是否能帮你加深对 this 的理解. 最近在看 <You Dont Know JS> ...

  9. bytes与网络通信

    字符串是人机交互的符号: bytes是最接近计算机本身的信息表示方法. 网络通信是计算机与计算机之间的通信. 所有的通信信息,必须转化为bytes流的方式在计算机间传递. bytes与数据类型无关,与 ...

  10. 协程 和 async await

    协程, 是 为了 避免 闭包传递变量 的 性能损耗 而产生  . 如果不是 为了 避免 闭包传递变量 的 性能损耗 ,    线程池 和 Task 已经够了,  不需要 再设计 出 协程 来  . 闭 ...