如何组建 EMQ X 集群

如何组建 EMQ X 集群

假设我们有两台服务器: s1.emqx.io(192.168.3.235) 和 s2.emqx.io(192.168.3.234),
分别安装了EMQ X,现在要让这两台服务器组成集群。

一.配置节点名称

需要在emqx/etc/emqx.conf文件中设置正确的节点名

在192.168.3.235中配置
node.name = [email protected]

在192.168.3.234中配置
node.name = [email protected]

二.设置集群 cookie

EMQ X 使用cookie来确认同一个集群中的节点。同一个集群中的节点必须使用相同的cookie。
修改cookie请编辑配置文件 emqx/etc/emqx.conf,找到以下行并做相应修改。

node.cookie = emqxsecretcookie

三、手动集群管理

使用随 EMQ X 安装附带的命令行工具 emqx_ctl 的 cluster 命令可以方便的管理集群,
完成在集群中添加、移除节点和查询集群状态等任务。

设置集群方式(manual) 手动集群方式是 EMQ X 的默认集群方式。请在配置文件emqx/etc/emqx.conf中找到以下行并做相应修改:
cluster.discovery = manual

-manual:手动加入命令
-static:静态节点列表
-mcast:IP组播
-dns:DNS自动集群
-etcd:etcd自动集群
-k8s:Kubernetes

1)加入新节点

  在任意独立节点上执行 cluster join 后,该节点会被加入到集群中。在本节的例子中,可以在234节点上执行:
  emqx_ctl cluster join [email protected]
  
  在节点被成功的加入到集群后,系统会返回以下提示:
  Join the cluster successfully.
  Cluster status: [{running_nodes,['[email protected]','[email protected]']}]

2)从集群中移除节点

leave: 需要移除的节点主动退出集群。在该节点上执行以下命令即可退出集群:
$ ./bin/emqx_ctl cluster leave

remove: 从集群的其他节点移除一个节点。在集群的其他节点上执行以下命令即可移除该节点。本例在 s1 节点上执行以下命令把 s2 节点移除出集群:
$ ./bin/emqx_ctl cluster remove [email protected]

3)查询集群状态

$ emqx_ctl cluster status

Cluster status: [{running_nodes,['[email protected]','[email protected]']}]

四.静态集群

节点配置
静态集群的配置相对简单,只需要在每个节点的 etc/emqx.conf 文件中配置集群方式和节点列表即可:
cluster.discovery = static
cluster.static.seeds = [email protected],[email protected]

五.使用 ETCD 的自动集群

1).安装ETCD

ETCD_VER=v3.3.20
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /usr/local/src/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

2).nohup 命令启动etcd

nohup ./etcd --initial-advertise-peer-urls http://127.0.0.1:2380  
             --listen-peer-urls http://0.0.0.0:2380 
             --advertise-client-urls http://0.0.0.0:2379 
             --listen-client-urls http://0.0.0.0:2379  
             --initial-cluster node1=http://127.0.0.1:2380 &

3).配置 EMQ X 节点

您需要在各个 EMQ X 节点上编辑 'etc/emqx.conf’文件中的cluster段落和node段落。

cluster.discovery = etcd

cluster.etcd.server = http://192.168.1.162:2379

cluster.etcd.prefix = emqxcl

cluster.etcd.node_ttl = 1m

依次启动节点

emqx_ctl cluster status
Cluster status: [{running_nodes,['[email protected]',
                                 '[email protected]']}]

你可能感兴趣的:(物联网,物联网)