连接节点


连接节点

每个远程服务集群都从单个节点开始。在单个节点上启动远程服务的步骤,可以作为标准流程或作为一个服务在前面的章节中已经讨论过。

在将节点添加到集群之前,首先需要确保集群令牌(属性CLUSTER_TOKEN在配置文件中)的值在每个节点和集群管理器中是相同的。为了更好的安全性,我们建议您通过生成一个新的令牌并将相同的值粘贴到每个节点配置文件来更改该令牌的预定义值。你可以用下面的命令生成一个新的令牌:

> grb_rs token GRBTK-6o4xujs59WJO5508nmaNwc1TtjZJAL1UcwN4vTD4qK4nata8oLr9GnubyXrLTkggc/aw2A==

使用集群管理器添加节点

如果您已经启动了Cluster Manager,那么您可以使用与添加第一个节点完全相同的命令添加其他节点。您可以通过提供群集管理器地址来实现这一点。集群管理器充当集群节点的注册表,然后这些节点将彼此连接。

> grb_rs——manager=http://mymanager:61080——port=61000

经理属性也可以通过配置文件设置:

经理= http://mymanager: 61080端口= 61000
在开始时,您将没有机会提供命令行选项grb_rs作为服务,所以在这种情况下,您唯一的选择是通过配置文件提供该信息。

如果您希望启动多个grb_rs用于测试目的的同一机器上的进程(不推荐用于生产使用),您将需要确保每个实例grb_rs在不同的端口上启动并使用不同的数据目录。命令grb_rs init将通过将默认配置和数据目录复制到当前目录来帮助您。

例如,启动主机名为的同一机器上的两个节点myserver

  1. 在第一个终端窗口中,创建一个新目录node1
  2. 将当前目录更改为node1和运行grb_rs init
  3. 启动第一个节点:
    grb_rs——经理= http://mymanager: 61080——端口= 61000

  4. 在第二个终端窗口中,创建一个新目录node2
  5. 将当前目录更改为node2和运行grb_rs init
  6. 在不同的端口上启动第二个节点,并连接到集群管理器:
    grb_rs——经理= http://mymanager: 61080——端口= 61001

在自管理集群中添加节点

如果尚未启动群集管理器,则节点必须相互连接。启动单节点集群后,可以使用——加入旗帜grb_rs或者是加入配置属性。例如,如果您已经在默认端口上启动了集群server1,您将在新节点上运行以下命令(称之为server2),创建双机集群:

> grb_rs——加入= server1

在日志输出中server2,你应该看到服务器之间握手的结果:

info:节点server1,从join到ALIVE的转换

类似地,日志输出server1将包括以下一行:

info:节点server2,添加到集群

如果使用非默认端口,则可以将目标节点端口指定为节点URL的一部分——加入国旗。属性指定当前节点的端口——港口国旗。您可以在不同的机器上使用不同的端口,但是使用相同的端口是一个很好的实践(端口61000通常是一个很好的选择)。命令看起来像这样:

> grb_rs——join=server1:61000——port=61000

加入属性也可以通过配置文件设置:

加入= server1:61000端口= 61000
同样,您在启动时也没有机会提供命令行选项grb_rs作为服务,所以在这种情况下,您唯一的选择是通过配置文件提供该信息。

一旦创建了多节点集群,就可以通过执行加入与任何成员节点。此外,——加入国旗或加入属性可以接受以逗号分隔的节点名称列表,因此即使其中一个成员节点不可用,节点仍然可以加入集群。请注意,当指定节点列表时,连接节点将尝试同时连接所有指定的节点。连接是一个异步过程,因此如果某些目标节点不可达,连接节点将在放弃连接之前重试。如果所有节点都是可访问的,那么它们都将加入并形成一个单独的集群。

如果您希望启动多个grb_rs用于测试目的的同一机器上的进程(不推荐用于生产使用),您将需要确保每个实例grb_rs在不同的端口上启动并使用不同的数据目录。命令grb_rs init将通过将默认配置和数据目录复制到当前目录来帮助您。

例如,启动主机名为的同一机器上的两个节点myserver

  1. 在第一个终端窗口中,创建一个新目录node1
  2. 将当前目录更改为node1和运行grb_rs init
  3. 启动第一个节点:
    grb_rs——端口= 61000

  4. 在第二个终端窗口中,创建一个新目录node2
  5. 将当前目录更改为node2和运行grb_rs init
  6. 在不同的端口上启动第二个节点,并加入第一个节点:
    grb_rs——端口= 61001加入= myserver: 61000

检查集群状态

您可以使用grbcluster查询集群状态。

> grbcluster node ID ADDRESS STATUS TYPE LICENSE PROCESSING #Q #R JL IDLE %MEM %CPU b7d037db server1:61000 ALIVE COMPUTE VALID accept 00 10 <1s 61.42 9.72 eb07fe16 server2:61000 ALIVE COMPUTE VALID accept 00 8 <1s 61.42 8.82 . > grbcluster node ID ADDRESS STATUS TYPE LICENSE PROCESSING #Q #R JL IDLE %MEM %CPU b7d037db server1:61000 ALIVE COMPUTE VALID accept 00 10 <1s
集群中的各节点不断共享各自的状态信息。每个节点可以处于以下状态之一:
活着
节点已启动并运行。

退化
节点无法响应最近的通信。节点可以返回到活着如果它再次变为可达状态。节点将保持此状态直到超时(由配置属性控制)DEGRADED_TIMEOUT),这时它被认为是失败的

失败的
节点已经进入退化状态太长,并被标记为失败的.节点将保留在失败的状态,最终将从集群中删除。如果节点恢复在线,它将不会自动重新加入集群。

加入
节点正在加入集群。

离开
节点离开集群。在从集群中删除之前,它将在短时间内保持这种状态。