EMQX 手动创建集群

                                 EMQX 手动创建集群

简介

        因为项目中使用到了emqx中间件,所以近期对中间件进行了进一步的研究,每次选用中间件我都会考虑可用性方案,如下是本地实践的记录。

一、部署

1、创建一个 Docker 网络,用于节点间通信。处于同一网络下的容器可以通过容器名或网络别名相互访问:

bashdocker network create emqx-net

2、启动第一个节点,通过环境变量设置节点名。EMQX 默认的集群方式是手动集群,因此不需要进行额外设置。将节点添加到 Docker 网络中,并设置与节点 host 相同的网络别名。

bashdocker run -d \

--name emqx1 \

-e "EMQX_NODE_NAME=emqx@node1.emqx.com" \

--network emqx-net \

--network-alias node1.emqx.com \

-p 1883:1883 \

-p 8083:8083 \

-p 8084:8084 \

-p 8883:8883 \

-p 18083:18083 \

emqx/emqx:5.6.0

3、当第一个节点启动完成后,启动第二个节点。新节点需要加入与第一个节点相同的网络,由于第一个节点已经占用了 1883 等端口,此处不再映射端口。

bashdocker run -d \

--name emqx2 \

-e "EMQX_NODE_NAME=emqx@node2.emqx.com" \

--network emqx-net \

--network-alias node2.emqx.com \

emqx/emqx:5.6.0

4、在任意一个节点上执行手动创建集群的命令,将当前节点与另一节点连接创建集群:

bashdocker exec -it emqx2 \

emqx ctl cluster join emqx@node1.emqx.com

在任意一个节点上执行 emqx ctl cluster status 命令查看集群状态,如果集群状态正常,将会输出如下信息:

bash$ docker exec -it emqx1 emqx ctl cluster status

Cluster status: #{running_nodes =>

['emqx@node1.emqx.com','emqx@node2.emqx.com'],

stopped_nodes => []}

至此,您已经完成了一个简单的集群创建过程,接下来可以按照以下章节的内容选择您需要的集群创建方式进行修改部署

总结

访问地址:http://192.168.90.135:18083/#/login?to=/dashboard/nodes

可以看到集群搭建成功,可以使用同样的方式扩展节点数量。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容