本申请涉及计算机通信领域,尤其涉及一种基于分布式的局域网集群地址自发现算法、装置和电子设备。
背景技术:
1、现有技术中,部署并启动一个分布式数据库比如greenplum和其他分布式产品比如hadoop要进行复杂的部署,尤其是在集群的所有机器上都要维护一个ip和hostname的映射表,比如:确保所有节点上有持久不变的主机名,如果不存在,请用下述命令设置主机名。
2、示例中主机名设置为mdw:
3、#sudo hostnamectl set-hostname mdw;
4、两个子节点也分别设置对应的主机名。
5、示例中子节点主机名设置为sdw1、sdw2:
6、#sudo hostnamectl set-hostname sdw1;
7、#sudo hostnamectl set-hostname sdw2;
8、确保集群中所有节点都可以相互通过主机名、ip访问。在/etc/hosts添加记录,将主机名映射为一个本地网卡地址。
9、#sudo vim/etc/hosts;例如,三个节点的/etc/hosts都应包含以下内容:
10、192.168.100.10mdw;192.168.100.11sdw1;192.168.100.12sdw2;
11、上述方法需要在每一台机器上维护一个冗长的而且相同的映射表/etc/hosts,机器越多越复杂,每增加一台机器就要对集群的所有机器的/etc/hosts文件进行更新,用户事先需要采集所有的ip和定义hostname,这是一个非常繁琐的过程。
12、因此,需要一种基于分布式的局域网集群地址自发现算法来自动采集集群内所有机器的ip,不需要人工再维护/etc/hosts文件,用户不需要再关注hostname,极大地方便了分布式系统的安装。
技术实现思路
1、本申请目的在于提供一种基于分布式的局域网集群地址自发现算法、装置和电子设备,通过服务器接收局域网集群内的新增广播信息来获得新增服务器得ip地址信息,并自动将所述ip地址信息添加至配置列表,以解决上述背景技术提出的人工采集和手动配置/etc/hosts文件问题。
2、本申请一方面,提出一种基于分布式的局域网集群地址自发现算法,局域网中包含两个以上服务器,集群内的每个所述服务器安装rpm,所述算法包括以下步骤:
3、在新增服务器中安装rpm;
4、所述新增服务器向所述局域网发送新增广播信息,所述新增广播信息中包含ip地址信息;
5、原局域网集群中的服务器接收所述新增服务器的新增广播信息;
6、对所述新增广播信息进行解析,得到所述新增服务器的新增ip地址信息;
7、根据所述新增ip地址信息更新服务器的配置列表。
8、作为本申请的一种可选实施方案,可选地,在新增服务器中安装rpm,包括:
9、新增服务器安装rpm后,所述新增服务器会向局域网集群中发送一次新增广播信息;
10、所述新增服务器发送所述新增广播信息后,一直保持接收局域网集群的广播的状态。
11、作为本申请的一种可选实施方案,可选地,原局域网集群中的服务器接收所述新增服务器的新增广播信息,包括:
12、局域网集群原有的服务器一直保持接收广播信息的状态;
13、当新增服务器向局域网集群发送所述新增广播信息时,局域网集群原有的服务器会接收所述新增广播信息。
14、作为本申请的一种可选实施方案,可选地,根据所述新增ip地址信息更新服务器的配置列表,包括:
15、原局域网集群中的服务器的配置列表中皆含有其他服务器的ip地址信息记录;
16、当原局域网集群中的服务器获得新增ip地址信息时,所述原局域网集群中的服务器会在各自所述配置列表中添加所述新增ip地址信息记录。
17、作为本申请的一种可选实施方案,可选地,所述在新增服务器中安装rpm后,还包括:
18、所述rpm中含有脚本文件和后台进程可执行文件;
19、所述服务器安装rpm后,运行所述脚本文件;
20、所述脚本文件运行后,关联运行所述后台进程可执行文件;
21、所述后台进程可执行文件运行后,所述服务器开始后台进程初始化;
22、所述服务器后台启动发送新增广播信息服务、保持接收新增广播信息服务和配置列表生成服务。
23、本申请二方面,提出一种实现上述所述的一种基于分布式的局域网集群地址自发现装置,包括:
24、安装rpm模块,用于在新增服务器中安装rpm;
25、发送新增广播信息模块,用于新增服务器向所述局域网发送新增广播信息,所述新增广播信息中包含ip地址信息;
26、接收新增广播信息模块,用于原局域网集群中的服务器接收所述新增服务器的新增广播信息;
27、解析新增广播信息模块,用于原局域网集群中的服务器对所述新增广播信息进行解析,得到所述新增服务器的新增ip地址信息;
28、添加信息模块,用于根据所述新增ip地址信息更新服务器的配置列表;
29、发送应答信息模块,用于原局域网集群中的服务器接收所述新增服务器的新增广播信息后,向所述新增的服务器发送应答信息。
30、作为本申请的一种可选实施方案,可选地,所述安装rpm模块,还包括:
31、脚本文件模块,用于关联运行后台进程可执行文件;
32、后台进程可执行文件模块,用于服务器开始后台进程初始化;
33、后台进程初始化模块,用于服务器后台启动发送新增广播信息服务、保持接收新增广播信息服务和配置列表生成服务。
34、作为本申请的一种可选实施方案,可选地,所述添加信息模块,还包括:
35、配置列表模块,用于原局域网集群中的服务器记录其他服务器的ip地址信息记录;
36、更新配置列表模块,用于当原局域网集群中的服务器获得新增ip地址信息时,所述原局域网集群中的服务器会在各自所述配置列表中添加所述新增ip地址信息记录。
37、本申请三方面,提出一种电子设备,包括:
38、处理器;
39、用于存储处理器可执行指令的存储器;
40、其中,所述处理器被配置为执行所述可执行指令时实现上述所述的一种基于分布式的局域网集群地址自发现算法。
41、本发明的技术效果:
42、由于服务器rpm安装后会自动采集其他安装了rpm的服务器的配置信息,所以不需要人工再维护/etc/hosts文件,用户不需要再关注hostname。极大的方便了分布式系统的安装。
43、根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
1.一种基于分布式的局域网集群地址自发现算法,其特征在于,局域网中包含两个以上服务器,集群内的每个所述服务器安装rpm,所述算法包括以下步骤:
2.如权利要求1所述的基于分布式的局域网集群地址自发现算法,其特征在于,在新增服务器中安装rpm,包括:
3.如权利要求1所述的基于分布式的局域网集群地址自发现算法,其特征在于,原局域网集群中的服务器接收所述新增服务器的新增广播信息,包括:
4.如权利要求1所述的基于分布式的局域网集群地址自发现算法,其特征在于,根据所述新增ip地址信息更新服务器的配置列表,包括:
5.如权利要求1所述的基于分布式的局域网集群地址自发现算法,其特征在于,原局域网集群中的服务器接收所述新增服务器的新增广播信息后,还包括:
6.如权利要求2所述的基于分布式的局域网集群地址自发现算法,其特征在于,所述在新增服务器中安装rpm后,还包括:
7.一种基于分布式的局域网集群地址自发现装置,用于实现权利要求1至6任一项所述的方法,其特征在于,包括:
8.一种基于分布式的局域网集群地址自发现装置,其特征在于,所述安装rpm模块,还包括:
9.一种基于分布式的局域网集群地址自发现装置,其特征在于,所述添加信息模块,还包括:
10.一种电子设备,其特征在于,包括: