EMQ自定义mysql持久化插件安装过程

EMQ broker开源不支持mysql持久化插件,在github上找的开源插件,地址如下:

https://github.com/goBuildRun/buildrun-emqx-backend-mysql

这个插件,验证可以使用,使用前需要按照下面链接这个步骤安装需要的工具链:

https://github.com/luxingwen/learning-erlang/blob/master/%E6%BA%90%E7%A0%81%E6%9E%84%E5%BB%BAemqx%E4%BB%A5%E5%8F%8A%E5%85%B6%E7%AC%AC%E4%B8%89%E6%96%B9%E6%8F%92%E4%BB%B6.md,

编译源码的过程中,遇到jiffy错误,解决办法如下:

错误避免:
rebar只能再英文目录下运行,如果编译jiffy的目录中有中文或其它unicode字符,将会出错
从git release 下下来的编译出错,具体原因不明
解决方案,从git 克隆下来最新代码进行编译

git clone https://github.com/davisp/jiffy.git
cd jiffy
make
最后将整个 jiffy目录复制到erlang的lib目录下,或自己添加搜索路径即可
引用:https://www.it610.com/article/1788602.htm

因为是新手,启动后,其它应用占用1883端口,造成MQTT TCP监听服务没起来,dashboard下看不到MQTT TCP连接上来的client…,netstat命令用法如下,就是用这个填的这个坑

在linux一般使用netstat 来查看系统端口使用情况步。

  netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的
  netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。

  该命令的一般格式为:
  netstat [选项]
  命令中各选项的含义如下:
  -a 显示所有socket,包括正在监听的。
  -c 每隔1秒就重新显示一遍,直到用户中断它。
  -i 显示所有网络接口的信息,格式同“ifconfig -e”。
  -n 以网络IP地址代替名称,显示出网络连接情形。
  -r 显示核心路由表,格式同“route -e”。
  -t 显示TCP协议的连接情况。
  -u 显示UDP协议的连接情况。
  -v 显示正在进行的工作。
  1. netstat -an | grep LISTEN
    0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。

  2. netstat -tln
    用来查看linux的端口使用情况

  3. /etc/init.d/vsftp start
    是用来启动ftp端口~!

  4. netstat
    查看已经连接的服务端口(ESTABLISHED)

  5. netstat -a
    查看所有的服务端口(LISTEN,ESTABLISHED)

  6. sudo netstat -ap
    查看所有的服务端口并显示对应的服务程序名

  7. nmap <扫描类型><扫描参数>
    例如:
    nmap localhost
    nmap -p 1024-65535 localhost
    nmap -PT 192.168.1.127-245
    当我们使用 netstat -apn 查看网络连接的时候,会发现很多类似下面的内容:
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1
    显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢?我们可以使用 lsof -i :7710 命令来查询:
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN) 54com.cn

这样,我们就知道了7710端口是属于sshd程序的。

from:http://blog.csdn.net/guodongdongnumber1/article/details/11383019

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EMQX docker持久化可以通过修改EMQX配置文件和使用docker-compose实现。具体步骤如下: 1. 修改EMQX配置文件:在emqx/etc/emqx.conf中添加以下内容: persistence.client_session.clean_interval = 7200s persistence.client_session.max_inflight = 65535 persistence.client_session.queue_qos0_messages = false persistence.client_session.queue_qos1_messages = true persistence.client_session.queue_qos2_messages = true persistence.offline_message.max_inflight = 1000000 persistence.offline_message.queue_qos0_messages = false persistence.offline_message.queue_qos1_messages = true persistence.offline_message.queue_qos2_messages = true persistence.subscription.max_inflight = 65535 persistence.subscription.queue_qos0_messages = false persistence.subscription.queue_qos1_messages = true persistence.subscription.queue_qos2_messages = true persistence.retained_message.max_inflight = 1000000 persistence.retained_message.queue_qos0_messages = false persistence.retained_message.queue_qos1_messages = true persistence.retained_message.queue_qos2_messages = true log.console = file log.console.level = debug log.console.file = /emqx/log/console.log log.error = file log.error.level = error log.error.file = /emqx/log/error.log log.crash = file log.crash.file = /emqx/log/crash.log log.crash.maximum_size = 10MB log.crash.maximum_rotation = 10 2. 创建docker-compose.yml文件:在该文件中添加以下内容: version: '3' services: emqx: image: emqx/emqx:latest container_name: emqx restart: always ports: - "1883:1883" - "8883:8883" - "8083:8083" - "18083:18083" volumes: - ./emqx/data:/opt/emqx/data - ./emqx/log:/opt/emqx/log - ./emqx/etc:/opt/emqx/etc 3. 创建redis文件夹和redis.conf文件:在redis文件夹中创建redis.conf文件,并添加以下内容: appendonly yes appendfsync everysec 4. 启动集群:在终端中运行docker-compose up命令启动EMQX集群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值