Erlang/OTP 语言平台的分布式程序,由分布互联的 Erlang 运行系统组成,每个 Erlang 运行系统被称为节点(Node),节点(Node) 间通过 TCP 互联,消息传递的方式通信:

Node1

--------

Node2

\ /

\ /

/ \

/ \

Node3

--------

Node4

EMQ 节点集群使用的 TCP 端口:

4369 集群节点发现端口 6369 集群节点控制通道

防火墙根据使用的 MQTT 接入方式,开启上述端口的访问权限。

集群节点间如有防护墙,需开启上述 TCP 端口互访权限。

如果集群节点间存在防火墙,防火墙需要开启 4369 端口和一个 TCP 端口段。4369 由 epmd 端口映射服务使用,TCP 端口段用于节点间建立连接与通信。

防火墙设置后,EMQ 需要配置相同的端口段,emqttd/etc/emq.conf 文件:

Distributed node port range

node.dist_listen_min = 6369

node.dist_listen_max = 7369

EMQ集群:

rpm安装:

安装依赖

yum -y install yum install lksctp-tools

安装包

yum -y install emqttd-centos7-v2.3.11-1.el7.centos.x86_64.rpm

启动

systemctl start emqttd.service

配置集群目录:vim /data/emq/emqx/etc/emqx.conf

cluster.discovery = manual

#日志相关配置

Crash dump log file. 故障转储日志文件

node.crash_dump = /data/emq/emq-cluster/logs/crash.dump

Sets the log dir. 主日志路径

log.dir = /data/emq/emq-cluster/logs/

The file where error logs will be writed to. 错误日志

log.error.file = /data/emq/emq-cluster/logs/error.log

The file for crash log. 故障日志的文件

log.crash.file = /data/emq/emq-cluster/logs/crash.log

启动emq:./bin/emqx start

emqx 3.0.1 is started successfully!

配置集群:vim /etc/emqttd/emq.conf

cluster.name = emqcl

cluster.discovery = manual

node.name = emq2@192.168.170.131

node.proto_dist = inet_tcp

node.dist_listen_min = 6369

node.dist_listen_max = 7369

listener.tcp.internal = 0.0.0.0:11883 内部mqtt/tcp协议侦听器的IP地址和端口

开启防火墙访问权限

firewall-cmd --zone=public --add-port={1883/tcp,8080/tcp,18083/tcp,4369/tcp,8883/tcp.8083/tcp,8084/tcp,6370/tcp} --permanent

firewall-cmd --reload

重启EMQ服务

systemctl start emqttd.service

[root@gougou ~]# netstat -tnlp

集群操作命令:

节点加入集群

emqttd_ctl cluster join emq1@192.168.170.130

查看集群的状态

emqttd_ctl cluster help

[root@gougou ~]# emqttd_ctl cluster status

Cluster status: [{running_nodes,['emq1@192.168.170.130',br/>'emq3@192.168.170.132',

'emq2@192.168.170.131']}]

节点退出集群

主动退出:emqttd_ctl cluster leave

Leave the cluster successfully.

Cluster status: [{running_nodes,['emq2@192.168.170.131']}]

从集群中删除: emqttd_ctl cluster force-leave emq3@192.168.170.132

Remove the node from cluster successfully.

Cluster status: [{running_nodes,['emq2@192.168.170.131',

'emq1@192.168.170.130']}]

emq 重启_EMQ集群相关推荐

  1. emq 重启_emq 的部署、使用及维护

    1.下载 emq 源码 emq 使用 3.0 以上版本(emq 2.X 版本称为 emqttd,3.X 版本称为 emqx),并且自己编译源码(方便做扩展性修改).Git 地址:https://git ...

  2. linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本

    前言: shell脚本的功能十分强大,这一点毋庸置疑的.那么,平常的工作中总是免不了和脚本打交道,也免不了要自己编写一些脚本. 每个人都希望自己编写的脚本强壮,简单,易用,功能多,并且总是希望脚本运行 ...

  3. 在不停业务的情况下重启ES集群中的节点

    之前写了一篇文章如何安全重启ES集群的节点,这又一个前提,就是需要停止写入业务.但是,有些时候业务是不能停的,又需要重启某一个节点(例如补丁修复,服务器更换等),这就需要用到本篇文章提到的不停业务重启 ...

  4. 重启数据库集群服务器( 主库服务器/备库服务器 )步骤

    目录 文档用途 详细信息 文档用途 本文旨在指导工程师如何重启数据库集群服务器. 详细信息 集群种类: 1.普通流复制集群(异步&同步) 2.Repmgr集群(高可用类) 3.Sharding ...

  5. Kafka系列之:不重启kafka集群设置kafka topic数据保留时间

    Kafka系列之:不重启kafka集群设置kafka topic数据保留时间 一.kafka topic数据保留3天的bash命令 二.查看kafka删除数据日志 三.批量设置上千个topic保留3天 ...

  6. 【Elasticsearch】如何正确的关闭 重启 Elasticsearch集群

    文章目录 1.背景 2.问题原因 3.ES内存数据模型 4.如何正确的关闭ES或者ES集群 4.1 第一步,禁止分片自动分布 4.2 如何启动ES集群 5.ElasticSearch服务快速重启操作步 ...

  7. mysql集群管理节点挂了_pxc-mysql集群全部挂掉之后,重启mysql集群服务

    1.随便在某一个节点进入存放数据的文件夹下 根据实际位置来 如果没有重新定向路径默认的路径为: cd /var/lib/docker/volumes/v1/_data 我这里重新定向路径了所以我的路径 ...

  8. mysql集群重启offline_集群各节点显示的状态均为OFFLINE

    现象描述 在集群的任意一个节点上执行gcadmin,显示的节点状态均为OFFLINE,如下图所示: 原因分析 出现该问题的原因是由于gcware内探测节点状态所使用的ssh端口与系统的ssh端口不匹配 ...

  9. mysql集群重启offline_mysql集群搭建问题及解决方法集锦

    在上一篇博客中写了如何搭建mysql集群,之所以遇到这些问题,是因为刚开始弄mysql集群的时候不熟悉,正是因为这些问题,让我对mysql集群的了解渐渐深入,下面介绍在搭建mysql集群的时候我遇到了 ...

最新文章

  1. 小白学统计(4)——数据集中趋势的描述
  2. 【算法】Logistic原理
  3. ITK:将itk :: Image转换为vtkImageData
  4. 基于约束的SQL攻击
  5. Apache Sentry架构介绍
  6. django-groundwork
  7. 【转载】DRuid 大数据分析之查询
  8. Ambari实现HTTPS登陆
  9. Oracle SQL (2):SQL Fundamentals(Day II)
  10. js关于鼠标划过事件
  11. Wmware虚拟机装黑苹果时,镜像格式转换的方法
  12. 面试后说hold什么意思_面试结束后就傻傻等通知?你还可以做这三件事!
  13. 双堆1.数据流的中位数
  14. 如何在Java中实现画图(图文并茂)(内附美丽的分型图片哦)
  15. oracle 批量插入语句
  16. GMM的EM算法实现
  17. c语言常见错误分析和程序调试,C语言中常见错误分析及程序调试
  18. php中表格第一行不动,word表格行高拉不动怎么办
  19. 一周内“克隆”了 Twitter,没用一行代码
  20. android有用的命令

热门文章

  1. Laravel教程 六:表单 Forms
  2. Exchange证书攻略
  3. 2013年6月12日星期三
  4. Oracle教程之管理索引(一)--Oracle管理索引
  5. 11个实用的Apache .htaccess配置
  6. 用VMware GSX和W2K群集服务实现Exchange群集
  7. IntelliJ IDEA的安装详解
  8. HADOOP docker(六):hive简易使用指南
  9. thymeleaf的url属性
  10. ubuntu(jdk配置)