erlang物联网开源项目emqtt下载,源码编译,调试工具和图形化监控相关(二)

简介: erlang物联网开源项目emqtt下载,源码编译,调试工具和图形化监控相关(二)
starting emqttd on node 'emq@192.168.83.128'
emqttd ctl is starting...[ok]
emqttd hook is starting...[ok]
emqttd router is starting...[ok]
emqttd pubsub is starting...[ok]
emqttd stats is starting...[ok]
emqttd metrics is starting...[ok]
emqttd pooler is starting...[ok]
emqttd trace is starting...[ok]
emqttd client manager is starting...[ok]
emqttd session manager is starting...[ok]
emqttd session supervisor is starting...[ok]
emqttd wsclient supervisor is starting...[ok]
emqttd broker is starting...[ok]
emqttd alarm is starting...[ok]
emqttd mod supervisor is starting...[ok]
emqttd bridge supervisor is starting...[ok]
emqttd access control is starting...[ok]
emqttd system monitor is starting...[ok]
emqttd 2.3.11 is running now
Eshell V8.3  (abort with ^G)
(emq@192.168.83.128)1> Load emq_mod_presence module successfully.
dashboard:http listen on 0.0.0.0:18083 with 4 acceptors.
http listen on 0.0.0.0:18084 with 4 acceptors.
mqtt:tcp listen on 127.0.0.1:11883 with 4 acceptors.
mqtt:tcp listen on 0.0.0.0:1883 with 16 acceptors.
mqtt:ws listen on 0.0.0.0:8083 with 4 acceptors.
mqtt:ssl listen on 0.0.0.0:8883 with 16 acceptors.
mqtt:wss listen on 0.0.0.0:8084 with 4 acceptors.
mqtt:api listen on 0.0.0.0:8080 with 4 acceptors.

注意:使用XftpPortable软件时,不要用Windows的写字板来编辑emq.conf和loaded_plugins等文件,否则编码不同,会导致emqttd的进程起不来。



在Windows操作系统使用图形化监控


在Windows安装erlang OTP,然后在cmd命令提示符输入:

werl -name firecat@127.0.0.1 -setcookie emqsecretcookie


或者werl -name firecat@172.16.6.??? -setcookie emqsecretcookie

observer:start().


然后shell输入终端命令observer:start().弹出对话框,点击菜单Nodes->Connect Node,输入Linux的节点名称


emq@172.16.6.161



如果是Linux虚拟机建议使用NAT网络模式,因为Ip地址比较固定,


在物理机Windows终端命令行输入:

werl -name firecat@127.0.0.1 -setcookie emqsecretcookie

或者werl -name firecat@192.168.83.1 -setcookie emqsecretcookie

observer:start().

然后shell输入终端命令observer:start().弹出对话框,点击菜单Nodes->Connect Node,输入Linux的节点名称emq@192.168.83.128



emq运行之后,在linux后台的进程名称是:beam.smp

[root@localhost emqx-rel-2.3.11]# netstat -tunlp|egrep "beam.smp"
tcp        0      0 127.0.0.1:11883         0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        0      0 0.0.0.0:8883            0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        0      0 0.0.0.0:8084            0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        4      0 0.0.0.0:6369            0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        0      0 0.0.0.0:18083           0.0.0.0:*               LISTEN      31483/beam.smp      
tcp        0      0 0.0.0.0:18084           0.0.0.0:*               LISTEN      31483/beam.smp      
[root@localhost emqx-rel-2.3.11]# kill -9 31483

常见问题解答:


1、EMQ有kafka插件吗?


答:没,要自己写个,用erlang brod库。https://github.com/klarna/brod


或者erlang ekaf库。https://github.com/helpshift/ekaf


这里有个我自己写的完整kafka项目:


https://blog.csdn.net/libaineu2004/article/details/79542220


参考博客:


(1)https://github.com/msdevanms/emqttd_plugin_kafka_bridge


(2)http://www.cnblogs.com/wunaozai/p/8249657.html


2、EMQ是ejabberd+activemq+rabbitmq的综合体


https://www.ejabberd.im/


https://github.com/TTalkIM


http://www.rabbitmq.com/


http://activemq.apache.org/


3、EMQ的hook和session是参考了ejabberd的。


4、CentOS7默认的防火墙是firewall,关掉它


关闭firewall防火墙:sudo systemctl stop firewalld.service


关闭firewall开机启动:sudo systemctl disable firewalld.service


firewall-cmd --state #查看状态


5、如果出现域名解析出错


curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"


则修改/etc/resolv.conf,添加


nameserver 8.8.8.8

nameserver 202.106.0.20


6、压缩命令


tar -zcvf emqx-rel-2.3.11.tar.gz emqx-rel-2.3.11


解压命令


tar -xvf emqx-rel-2.3.11.tar.gz


7、erlang打印输出


io:format("Value is ~p~n", [Val]).%原生打印


io:format("Value is ~w~n", [Val]).%二进制打印


8、emq常用终端命令


./_rel/emqttd/bin/emqttd console

./_rel/emqttd/bin/emqttd start

./_rel/emqttd/bin/emqttd_ctl status

./_rel/emqttd/bin/emqttd stop


./_rel/emqttd/bin/emqttd_ctl cluster join emq@192.168.0.116

./_rel/emqttd/bin/emqttd_ctl cluster status

./_rel/emqttd/bin/emqttd_ctl cluster leave


9、netstat -nalp|grep 1883#查看1883端口的连接情况,观察TCP状态图

netstat -nalp|grep 1883|wc -l #查看1883端口的客户端连接数

ulimit -n 102400 #修改当前进程的最大文件数


10、tail -f *.log #实时查看日志内容



相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
传感器 SQL 运维
常见网络安全设备:IPS(入侵防御系统)零基础入门到精通,收藏这一篇就够了
常见网络安全设备:IPS(入侵防御系统)零基础入门到精通,收藏这一篇就够了
834 3
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
343 11
|
存储 安全 网络安全
2023年多个变种传播的mkp勒索病毒数据怎么处理|数据解密恢复
        恶意软件是当今互联网上最常见的威胁之一,尤其是勒索病毒。[MyFile@waifu.club].mkp勒索病毒、[datastore@cyberfear.com].mkp勒索病毒、[savetime@cyberfear.com].mkp勒索病毒、[torres@proxy.tg].mkp勒索病毒勒索病毒是2023年最新的makop变种勒索病毒,它能够对企业的服务器数据及各种软件数据库进行加密,使得企业的服务器无法正常运行。91数据恢复研究院将介绍.mkp勒索病毒的特征、影响以及如何进行数据恢复。
2023年多个变种传播的mkp勒索病毒数据怎么处理|数据解密恢复
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
3000 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
JSON API 开发者
闲鱼商品详情API接口(闲鱼API系列)
闲鱼商品详情API为开发者提供便捷、高效且合规的途径,获取闲鱼平台上特定商品的详细信息,如标题、价格、描述和图片等。该接口采用GET请求方式,需传入app_key、item_id、timestamp和sign等参数,返回JSON格式数据。示例代码展示了如何使用Python调用此API,包括生成签名和处理响应。开发者需替换实际的app_key、app_secret和商品ID,并关注官方文档以确保接口使用的准确性。
3623 1
|
前端开发 JavaScript Java
IDEA Maven install Failed to execute goal org.apache.maven.plugins异常处理
IDEA Maven install Failed to execute goal org.apache.maven.plugins异常处理
2030 0
|
Web App开发 机器学习/深度学习 安全
《Web安全之机器学习入门》一 3.2 数据集
本节书摘来自华章出版社《Web安全之机器学习入门》一 书中的第3章,第3.2节,作者:刘焱,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
4089 0
|
XML 安全 网络安全
XXE漏洞详解(三)——XXE漏洞实际运用
XXE漏洞详解(三)——XXE漏洞实际运用
787 4
如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据
如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据
如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据
|
JavaScript 前端开发
js中的import和export
# 引言 我们在开发时,如果将 JavaScript 加载到页面中,通常是以小片段的形式提供效果和交互,一般会把所有的 JavaScript 代码全都写在一个文件中,并加载到一个 `script` 标签中。尽管可以把 JavaScript 拆分为多个文件,但是所有的变量和函数仍然会被添加到全局作用域中。 由此我们需要使用第三方代码来完成常见任务,并且需要把代码分解为模块化的文件,避免污染全局命名空间。 ECMAScript 2015 规范在 JavaScript 语言中引入了 *module*,也有了 import 和 export 语句。 `import`和`eport`声明共同作用

相关产品

  • 物联网平台
  • 下一篇
    开通oss服务