分布式协调系统中新增节点的入网方法、装置和系统的制作方法_3

文档序号:9891198阅读:来源:国知局
中包含 的新入网节点的IP地址,给所述新入网节点分配第一节点标识(在之前所有节点的节点标 识的基础上递增),并将所述新入网节点的所述第一节点标识与IP地址的第一对应关系增 加到所述主节点的配置文件中,W及节点信息集合,W使得所述分布式协调系统的从节点 得知所述节点信息集合更新后在所述从节点的配置文件中增加所述第一对应关系。该从节 点在所述从节点的配置文件中增加所述第一对应关系之后,重启该从节点的服务器端应用 程序W使得所述从节点的配置文件中新增的所述第一对应关系生效。 阳〇巧]初始的所述节点信息集合包括所述主节点的节点标识和所述主节点的IP地址的 对应关系,W及所述从节点的节点标识和所述从节点的IP地址的对应关系;更新后的所述 节点信息集合还包括所述第一对应关系。
[0096] 假设,初始的所述节点信息集合为:
[0097] server.1 = hostl:portl:port2 ;
[0098] server.2 = host2:portl:port2 ;
[0099] server. 3 = host3:port1:ports。
[0100] 新增的所述第一对应关系为:
[0101] server.4 = host4:port1:ports。
[0102] W server. 4 = host4:po;rtl :po;rt2 为例,其中 server. 4 表不新入网节点的第一 节点标识,其中4表示节点序号,host4表示新入网节点的IP地址,portl为该新入网节点 与集群网络中的主节点交换信息的端口;P〇rt2为执行选举时节点间相互通信的端口。 阳103] 所述节点信息集合可W存储在永久节点(zooData)中,该永久节点可W为主节点 对应的客户端在zookeeper集群网络中创建的一个子节点,该永久节点的属性为永久性 的,即使主节点对应的客户端与该永久节点断开连接该永久节点也不会删除,zookeeper 集群网络中的所有节点都与该永久节点保持通信,只有主节点可W对该永久节点进行写操 作,其他从节点只能对该永久节点进行读操作,即检测到该永久节点中存储的节点信息集 合发生变化后,将节点信息集合中新增的对应关系添加至配置文件中。
[0104] 所述主节点与从节点类似,使新增的所述第一对应关系生效,需重启主节点上的 服务器端应用程序。
[01化]步骤104、所述主节点将所述第一节点标识W及更新后的节点信息集合发送给所 述新入网节点,W使得所述新入网节点根据所述第一节点标识W及所述更新后的节点信息 集合生成所述新入网节点的配置文件,从而加入所述分布式协调系统。
[0106] 具体来说,主节点将给所述新入网节点分配的所述第一节点标识W及更 新后的节点信息集合发送给新入网节点,可报文的形式发送,例如格式可W为 "ZooKeeper reply :nodename:zooData ;server. 1 = hostl:portl:port2 ;erver.2 = host2:portl :port2 ;server. 3 = host3:portl :port2 ;server. 4 = host4:portl :port2. "。 新入网节点收到之后,将所述更新后的节点信息集合和所述新入网节点的第一节点标识写 入所述新入网节点的配置文件中,并在配置的dataDir指定的目录下面,创建一个myid文 件,里面内容为第一节点标识,用来标识所述新入网节点,并启动所述新入网节点的服务器 端应用程序。
[0107] 图2为本发明实施例提供的分布式协调系统中新增节点的入网方法的实现原理 图。
[0108] 如图2所示,本实施例的方法中,新入网节点在5050端口发送UDP广播报文, ZooKeeper集群网络中的所有节点会在5050端口接收到该UDP广播报文,判断自身是不是 主节点,如果是主节点则根据所述UDP广播报文为所述新入网节点分配第一节点标识,并 在所述主节点的配置文件中增加第一对应关系,所述第一对应关系包括所述第一节点标识 和所述新入网节点的IP地址;所述主节点在永久节点中存储的节点信息集合中增加所述 第一对应关系,得到更新后的节点信息集合;
[0109] 其他从节点判断出自身不是主节点,则不会对接收到的报文进行操作,可W继续 监控该永久节点,永久节点中的节点信息集合的数据发生更新后,对所述永久节点进行读 操作,在所述从节点的配置文件中增加所述第一对应关系,并重启该从节点的服务端应用 程序,使得新增的所述第一对应关系生效。
[0110] 所述主节点将所述第一节点标识W及更新后的节点信息集合W报文形式发送给 所述新入网节点,W使得所述新入网节点根据所述第一节点标识W及所述更新的节点信息 集合生成所述新入网节点的配置文件,从而加入所述分布式协调系统。 阳111] ZooKeeper集群网络中的所有节点通过查询存储的信息W获知自身是不是主节 点。
[0112] 可选地,所述主节点接收新入网节点发送的入网请求报文,包括:
[0113] 所述主节点在固定端口接收新入网节点发送的入网请求报文;所述端口与所述新 入网节点发送入网请求报文的端口一致。
[0114] 具体来说,本发明实施例中可W通过固定的5050端口发送及接收报文。
[0115] 本实施例,通过所述分布式协调系统的主节点接收新入网节点发送的入网请求报 文,所述入网请求报文包括所述新入网节点的IP地址;根据所述入网请求报文为所述新入 网节点分配第一节点标识,并在所述主节点的配置文件中增加第一对应关系,所述第一对 应关系包括所述第一节点标识和所述新入网节点的IP地址;并在节点信息集合中增加所 述第一对应关系,得到更新后的节点信息集合,W使得所述分布式协调系统的从节点在所 述从节点的配置文件中增加所述第一对应关系;将所述第一节点标识W及更新后的节点信 息集合发送给所述新入网节点,W使得所述新入网节点根据所述第一节点标识W及所述更 新的节点信息集合生成所述新入网节点的配置文件,从而加入所述分布式协调系统,实现 了分布式协调系统ZooKeeper集群网络部署中新入网节点的自动配置,不需要人工干预, 即可实现新入网节点的自动入网,相比传统的人工配置,效率高,并且不易出错。
[0116] 图3为本发明实施例提供的分布式协调系统中新增节点的入网方法流程图二。如 图3所示,所述方法可W包括:
[0117] 步骤301、新入网向所述分布式协调系统的主节点发送入网请求报文,所述入网请 求报文中包括所述新入网节点的网际协议IP地址。
[0118] 具体来说,新入网节点可W通过固定端口发送入网请求报文,可W通过广播方式 发送,如在5050端口发送该入网请求报文,该入网请求报文可W为用户数据包协议扣ser Datagram Protocol,简称UDF〇广播报文,报文格式如下: 阳119]
[0120] 其中,网络层的目的地址为255. 255. 255. 255的广播地址,UDP的源端口和目的端 口定义为固定的5050端口;数据域为:"ZooKeeper request :IP",其中,IP为新入网节点 的IP地址。 阳121] 主节点接收到新入网节点发送的入网请求报文后,取出所述入网请求报文中包含 的新入网节点的IP地址,给所述新入网节点分配第一节点标识(在之前所有节点的节点标 识的基础上递增),并将所述新入网节点的所述第一节点标识与IP地址的第一对应关系增 加到所述主节点的配置文件中,W及节点信息集合,W使得所述分布式协调系统的从节点 得知所述节点信息集合变化后在所述从节点的配置文件中增加所述第一对应关系,并重启 该从节点的服务器端应用程序,使得新增的所述第一对应关系生效。
[0122] 初始的所述节点信息集合包括所述主节点的节点标识和所述主节点的IP地址的 对应关系,W及所述从节点的节点标识和所述从节点的IP地址的对应关系;更新后的所述 节点信息集合还包括所述第一对应关系。
[0123] 假设,初始的所述节点信息集合为:
[0124] server.1 = hostl:portl:port2 ;
[01 巧]server.2 = host2:port1: ports ; 阳 126] server. 3 = host3:port1:ports。
[0127] 新增的所述第一对应关系为:
[0128] server.4 = host4:port1:ports。
[0129] W server. 4 = host4:po;rtl :po;rt2 为例,其中 server. 4 表示新入网节点的第一 节点标识,其中4表示节点序号,host4表示新入网节点的IP地址,portl为该新入网节点 与集群网络中的主节点交换信息的端口;P〇rt2为执行选举时节点间相互通信的端口。
[0130]
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1