Centos7 EMQ集群搭建

项目组主要是做IOT的,需要搭建EMQ集群来连接边缘设备到云端

5G 时代,万物互联消息引擎 | EMQ

EMQ的搭建比较简单,在此记录一下便于日后查阅。

一、EMQ简介

EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed) 的语言平台。MQTT 是轻量的(Lightweight)、发布订阅模式(PubSub) 的物联网消息协议。

EMQ X 面向海量的 移动/物联网/车载 等终端接入,并实现在海量物理网设备间快速低延时的消息路由:

1、稳定承载大规模的 MQTT 客户端连接,单服务器节点支持百万连接。

2、分布式节点集群,快速低延时的消息路由,单集群支持千万规模的路由。

3、消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。

4、完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、私有 TCP/UDP 协议支持。

二、准备工作

环境是Centos7,其他的就没什么需要准备的了。

三、EMQ单机搭建

其实官方文档中介绍的已经非常清楚了,在这里我放上官方文档地址

EMQ官方文档地址

只需要按照文档中的来就可以,执行以下命令

curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash
yum install epel-release -y
yum install -y openssl11 openssl11-devel
sudo yum install emqx -y
sudo systemctl start emqx

访问  http://127.0.0.1:18083,默认用户名: admin,密码:public,如图所示:

三、EMQ集群搭建

首先我们先搞三台机器,然后我们在三台机器上启用以下端口

1883 MQTT 协议端口
8883 MQTT/SSL 端口
8083 MQTT/WebSocket 端口
8080 HTTP API 端口
18083 Dashboard 管理控制台端口

启用方式参照下面这篇文章

CentOS7开启端口(永久)

启用完成之后我们来修改一下配置文件

    $ vim ./etc/emqx.conf

修改以下内容

    node.name = emqx@192.168.3.204

另一台机器修改为

    node.name = emqx@192.168.3.211

这里需要注意:

1、上述配置中的 emqx 指的是集群名称,在配置文件中叫做 cluster.name = emqx,两台节点的 cluster.name 必须一致,并且 node.name 的前缀 xxx@ 也要与cluster.name相同,否则不能加入集群显示无响应(EMQ-3.1.0 版本官方文档有问题,在这里耽误了很多时间)。

2、192.168.3.204 和 192.168.3.211 均是内网 IP。

修改完成之后,启动全部三台节点

$ ./bin/emqx start

其他节点执行加入操作,192.168.3.204上执行

$ ./bin/emqx_ctl cluster join emqx@192.168.3.211

Join the cluster successfully.
Cluster status: [{running_nodes,['emqx@192.168.3.204','emqx@192.168.3.211']}]

或,192.168.3.211上执行

$ ./bin/emqx_ctl cluster join emqx@192.168.3.204

Join the cluster successfully.
Cluster status: [{running_nodes,['emqx@192.168.3.204','emqx@192.168.3.211']}]

任意节点上查询集群状态:

$ ./bin/emqx_ctl cluster status

Cluster status: [{running_nodes,['emqx@192.168.3.204','emqx@192.168.3.211']}]

然后我们访问 http://192.168.3.204:18083,我们会发现两个节点已经成功运行了,如图所示:

修改密码:

  $ ./bin/emqx_ctl admins passwd 用户名 密码

节点退出集群,有两种方式:

1、leave: 本节点退出集群

2、force-leave: 从集群删除其他节点

emqx@192.168.3.204 主动退出集群:

  $ ./bin/emqx_ctl cluster leave

或 emqx@192.168.3.204 节点上,从集群删除emqx@192.168.3.211 节点:

  $ ./bin/emqx_ctl cluster force-leave emqx@192.168.3.211

到此EMQ集群搭建完成。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
在CentOS 7上搭建Hadoop集群的步骤如下: 1. 首先,确保你的CentOS 7系统已经安装了JDK,并配置好了JAVA_HOME环境变量。 2. 下载Hadoop的压缩包,并解压到指定目录。例如,将压缩包解压到/usr/soft/hadoop-2.7.5目录下。 3. 进入Hadoop解压后的文件夹中的/etc/hadoop/目录,并修改以下四个配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。 4. 在yarn-site.xml中,添加以下属性: ``` <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> ``` 5. 在hdfs-site.xml中,添加以下属性: ``` <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/soft/hadoop-2.7.5/etc/hadoop/dfs/name</value> <description>NameNode directory for namespace and transaction logs storage.</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/soft/hadoop-2.7.5/etc/hadoop/dfs/data</value> <description>DataNode directory</description> </property> <property> <name>dfs.replication</name> <value>2</value> </property> ``` 6. 创建必要的文件夹: ``` sudo mkdir -p /usr/soft/hadoop-2.7.5/etc/hadoop/dfs/name sudo mkdir -p /usr/soft/hadoop-2.7.5/etc/hadoop/dfs/data ``` 7. 配置集群的主机名和IP地址。确保所有的节点都能够相互访问。 8. 启动Hadoop集群: ``` sudo /usr/soft/hadoop-2.7.5/sbin/start-dfs.sh sudo /usr/soft/hadoop-2.7.5/sbin/start-yarn.sh ``` 9. 验证集群是否正常工作。可以通过访问Hadoop的Web界面来确认。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BasicLab基础架构实验室

你的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值