一种分布式系统的Namenode切换方法和系统的制作方法

文档序号:7772854阅读:130来源:国知局
一种分布式系统的Namenode切换方法和系统的制作方法
【专利摘要】本发明实施例公开了一种分布式系统的Namenode切换方法和装置,配置至少两个Namenode,将所述Namenode连接到一临时节点中并获取连接参数,确定一个主Namenode和至少一个从Namenode,分布式系统只使用所述主Namenode提供服务,当主Namenode与临时节点断开连接时,触发所述临时节点中的从Namenode执行所述回调函数确定并使用新的主Namenode提供服务,可见,当分布式系统的主Namenode不提供服务时,会从设置的其他Namenode中确定出新主Namenode来为分布式系统继续提供服务,使得分布式系统不会因此而无法正常工作,大大提高了分布式系统的稳定性。
【专利说明】—种分布式系统的Namenode切换方法和系统
【技术领域】
[0001]本发明涉及计算机领域,特别是涉及一种分布式系统的Namenode切换方法和系统。
【背景技术】
[0002]随着网络上需要处理的数据量越来越多,针对处理大量数据的分布式系统的应用范围也越来越广泛。在分布式系统中的元数据结点Namenode是整个分布式系统中的文件存储系统的核心,分布式文件存储系统所有的操作均需由Namenode参与。并且,Namenode负责维护整个分布式文件系统中所有文件的元信息以及目录信息,如果Namenode出现了失败,那么分布式文件存储系统中所有文件信息将全部丢失。虽然一般来说分布式系统针对每份数据都可以根据配置进行多份数据备份,即不会因为Namenode出现了失败而导致系统中的数据全部丢失,但是整个分布式系统仍旧会因为仅有的一个Namenode无法工作而导致无法提供正常的服务。

【发明内容】

[0003]为了解决上述分布式系统因为仅有的一个Namenode无法工作而导致无法提供正常的服务的技术问题,本发明提供了一种分布式系统的Namenode切换方法和系统。
[0004]本发明实施例公开了如下技术方案:
[0005]一种分布式系统的Namenode切换方法,配置至少两个Namenode,将所述Namenode连接到一临时节点中并获取连接参数,所述Namenode以预设的回调函数根据所述连接参数从所述Namenode中确定一个主Namenode和至少一个从Namenode,分布式系统只使用所述主Namenode提供服务,包括:
[0006]当主Namenode与临时节点断开连接时,则判定主Namenode无法提供服务,触发所述临时节点中的从Namenode执行所述回调函数在所述从Namenode中确定新的主Namenode ;
[0007]使用所述新的主Namenode提供服务。
[0008]优选的,还包括:
[0009]当确定出主Namenode时,将所述主Namenode的网络参数更新到预设的存储单元中;
[0010]触发用户侧和服务器侧从所述存储单元中读取所述主Namenode的网络参数,使得所述用户侧和服务器侧根据读取的所述网络参数通过所述主Namenode进行数据交互。
[0011]优选的,还包括分布式共享存储系统,所述分布式共享存储系统分为多个存储块对写入的数据进行逐块存储:
[0012]所述主Namenode接收数据写请求;
[0013]所述主Namenode将成功处理的数据写请求中的数据内容写入所述分布式共享存储系统的存储块中;[0014]当分布式共享存储系统检测到当前存储块写满数据后,切换另一存储块用于存储所述主Namenode写入的数据,并发送切换信令到所述临时节点中的从Namenode,所述切换信令包括刚被切换的写满数据的存储块的位置信息;
[0015]相应的,从Namenode根据所述切换信令中的位置信息从所述刚被切换的写满数据的存储块中读取数据内容并预存到对应所述Namenode的内存中。
[0016]优选的,在所述使用所述新的主Namenode提供服务前,还包括:
[0017]所述新的主Namenode检测所述分布式共享存储系统中是否包含未被写满的存储块;
[0018]如果有,则将所述未被写满的存储块中数据内容读取到对应的内存中。
[0019]优选的,还包括:
[0020]所述连接参数具体为Namenode连接到临时节点的连接时间。
[0021]一种分布式系统的Namenode切换装置,包括:
[0022]配置单元,用于配置至少两个Namenode,将所述Namenode连接到一临时节点中并获取连接参数,所述Namenode以预设的回调函数根据所述连接参数从所述Namenode中确定一个主Namenode和至少一个从Namenode,分布式系统只使用所述主Namenode提供服务;
[0023]主Namenode再判断单元,用于当主Namenode与临时节点断开连接时,则判定主Namenode无法提供服务,触发所述临时节点中的从Namenode执行所述回调函数在所述从Namenode中确定新的主Namenode ;
[0024]提供服务单元,用于使用所述新的主Namenode提供服务。
[0025]优选的,还包括:
[0026]网络参数保存单元,用于当确定出主Namenode时,将所述主Namenode的网络参数更新到预设的存储单元中;
[0027]触发读取单元,用于触发用户侧和服务器侧从所述存储单元中读取所述主Namenode的网络参数,使得所述用户侧和服务器侧根据读取的所述网络参数通过所述主Namenode进行数据交互。
[0028]优选的,还包括分布式共享存储系统,所述分布式共享存储系统分为多个存储块对写入的数据进行逐块存储:
[0029]接收写请求单元,用于为所述主Namenode接收数据写请求;
[0030]数据写入单元,用于为所述主Namenode将成功处理的数据写请求中的数据内容写入所述分布式共享存储系统的存储块中;
[0031]存储块切换单元,用于为当分布式共享存储系统检测到当前存储块写满数据后,切换另一存储块用于存储所述主Namenode写入的数据,并发送切换信令到所述临时节点中的从Namenode,所述切换信令包括刚被切换的写满数据的存储块的位置信息;
[0032]同步数据内容单元,用于为从Namenode根据所述切换信令中的位置信息从所述刚被切换的写满数据的存储块中读取数据内容并预存到对应所述Namenode的内存中。
[0033]优选的,还包括:
[0034]存储块检测单元,用于在所述使用所述新的主Namenode提供服务前,为所述新的主Namenode检测所述分布式共享存储系统中是否包含未被写满的存储块;[0035]如果有,则将所述未被写满的存储块中数据内容读取到对应的内存中。
[0036]优选的,还包括:
[0037]所述连接参数具体为Namenode连接到临时节点的连接时间。
[0038]由上述技术方案可以看出,为分布式系统设置至少两个Namenode,当作为主Namenode基于某些情况不提供服务时,会立即从设置的其他Namenode中确定出新的主Namenode来为分布式系统继续提供服务,使得分布式系统不会因为Namenode的问题而无法正常工作,大大提高了分布式系统的稳定性。
【专利附图】

【附图说明】
[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本发明一种分布式系统的Namenode切换方法的方法流程示意图;
[0041]图2为本发明一种分布式系统的Namenode切换方法的另一个方法流程示意图;
[0042]图3为本发明一种分布式系统的Namenode切换装置的装置结构示意图;
[0043]图4为本发明一种分布式系统的Namenode切换装置的另一个装置结构示意图;
[0044]图5为本发明一种分布式系统的Namenode切换装置的另一个装置结构示意图;
[0045]图6为本发明一种分布式系统的Namenode切换装置的另一个装置结构示意图。
【具体实施方式】
[0046]本发明实施例提供了一种分布式系统的Namenode切换方法和系统。一方面,为分布式系统设置至少两个Namenode并连接到一临时节点中,其中一个Namenode作为主Namenode为所述分布式系统提供服务,当作为主Namenode基于某些情况与临时节点断开连接时,该临时节点中其他为所述分布式系统设置的从Namenode会在所述从Namenode中确定新的主Namenode来为所述分布式系统继续提供服务,使得所述分布式系统不会因为Namenode的问题而无法正常工作,由此大大提高了分布式系统的稳定性。
[0047]另一方面,在为分布式系统确定新的主Namenode的同时,更新用于存储主Namenode网络参数的存储单元,并触发使用上述分布式系统的用户侧和服务器侧从所述存储单元中读取新确定的主Namenode的网络参数信息,以此使得用户及服务器能够及时的使用新的主Namenode进行数据交互,这样就不会出现用户或服务器依然继续使用已经不提供服务的Namenode而造成无法完成正常的数据交互的问题,进一步的使得分布式系统可以完成自动切换Namenode的功能。
[0048]另一方面,主Namenode将成功处理的用户侧和服务器侧的写请求中的数据内容写入分布式共享存储系统,分布式共享存储系统以存储块的形式将写入的数据进行逐块的保存,也就是说写满一个存储块就切换另一个存储块继续存储写入的数据,当切换存储块的时候,会向临时节点中其他从Namenode发送包含刚被切换的写满的存储块位置信息的切换信令,从Namenode可以由此将刚被切换的写满的存储块中的数据内容预存到对应从Namenode的内存中,这样使得从Namenode内存中保存的数据内容与主Namenode内存中保存的数据内容基本同步,最多就相差一个存储块中的数据内容,这样在主Namenode失去连接、无法工作的情况下,被确定为新的主Namenode的原从Namenode只需要读取当前用于存储数据的存储块中的数据内容即可完成完全的数据同步,以此完成Namenode的切换操作,由此大大减少了分布式系统切换Namenode所需要的时间,提高了用户体验度。
[0049]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
[0050]实施例一
[0051]请参阅图1,其为本发明一种分布式系统的Namenode切换方法的方法流程示意图,该方法包括以下步骤:
[0052]配置步骤S100:配置至少两个Namenode,将所述Namenode连接到一临时节点中并获取连接参数,所述Namenode以预设的回调函数根据所述连接参数从所述Namenode中确定一个主Namenode和至少一个从Namenode,分布式系统只使用所述主Namenode提供服务。
[0053]也就是说,为一个分布式系统配置多个Namenode,但同一时刻只使用一个作为主Namenode提供服务,其他的Namenode作为从Namenode,也就是说至少也要配置两个Namenode。只有在主Namenode无法使用或其他情况下,从至少一个从Namenode中确定出一个来作为新的主Namenode,使得分布式系统能够在只要为其配置的Namenode中有一个还能够提供服务就能正常工作。本实施例的优选设置方式是将为一个分布式系统配置的至少两个Namenode均连接到同一个临时节点上,并通过回调函数根据连接到临时节点上的连接参数从为该分布式系统配置的Namenode中确定出一个作为主Namenode为分布式系统提供服务,其余的作为从Namenode作为该分布式系统的备选Namenode,而且需要说明的是,同一个临时节点中连接Namenode均为同一个分布式系统所配置的Namenode,而且优选的,是使用针对大型分布式系统的可靠协调系统zookeeper来建立临时节点用于Namenode的连接。
[0054]—种优选的连接参数为Namenode连接到临时节点的时间,这样的话,回调函数以连接时间作为变量,每次需要确定主Namenode时,均会触发各个从Namenode执行回调函数,并根据连接时间的大小顺序确定出自己是否是当前连接时间最小的,如果是,则确定自己为新的主Namenode,并进行后续的相关主、从Namenode转换的操作。
[0055]SlOl:当主Namenode与临时节点断开连接时,则判定主Namenode无法提供服务,触发所述临时节点中的从Namenode执行所述回调函数在所述从Namenode中确定新的主Namenode ;
[0056]这里需要说明的是,主Namenode与临时节点的连接断开主要可能是因为主Namenode断线、损坏或者下线等无法正常提供服务的情况造成的。这种情况下除了判定原主Namenode无法提供服务以外,还需要确定出新的主Namenode顶替原主Namenode来继续为分布式系统提供应有的服务,而确定出新的主Namenode的方案就是当临时节点发现连接的Namenode数量发生变化后,触发连接在临时节点上的其他Namenode执行回调函数,通过连接参数来确定出新的主Namenode。
[0057]优选的,还包括:
[0058]当确定出主Namenode时,将所述主Namenode的网络参数更新到预设的存储单元中;[0059]触发用户侧和服务器侧从所述存储单元中读取所述主Namenode的网络参数,使得所述用户侧和服务器侧根据读取的所述网络参数通过所述主Namenode进行数据交互。
[0060]也就是说,每当确定出一个主Namenode后,都会将该Namenode的网络参数比如说IP地址等更新并保存到一个预先设置的存储单元中,而且,在每次需要进行确定主Namenode的时候,除了触发临时节点中连接的其他Namenode执行回调函数以外,还会触发使用该分布式系统的用户侧的各个用户以及服务器侧的各个服务器读取所述存储单元中的数据信息,这样的话,每次更换主Namenode时,使用主Namenode进行数据交互的用户侧和服务器侧都能在第一时间内从存储单元中获取最新的主Namenode的网络参数,并根据该网络参数与新的主Namenode建立数据交互连接,这样的话就不会出现老的主Namenode已经停止服务或者出现闪断后由新的主Namenode顶替服务时,用户侧和/或服务器侧由于没有及时更新已经使用其他Namenode来完成数据交互服务了,依旧使用老的主Namenode进行数据交互,以至于无法顺利完成操作的问题。而且这种在切换主/WNamenode的同时触发使用分布式系统的用户侧和服务器侧更新分布式系统的主Namenode的网络参数,由此使得对于分布式系统的主/从Namenode切换不仅可以通过手动切换,也可以直接通过系统自动判断,完成自动的切换。
[0061]S102:使用所述新的主Namenode提供服务。
[0062]在完成主、从Namenode转换的相关操作后,分布式系统即可使用新的主Namenode进行服务了,具体的主、从Namenode转换的相关操作将会在实施例二中进行描述。
[0063]由本实施例可以看出,为分布式系统设置至少两个Namenode并连接到一临时节点中,其中一个Namenode作为主Namenode为所述分布式系统提供服务,当作为主Namenode基于某些情况与临时节点断开连接时,该临时节点中其他为所述分布式系统设置的从Namenode会在所述从Namenode中确定新的主Namenode来为所述分布式系统继续提供服务,使得所述分布式系统不会因为Namenode的问题而无法正常工作,由此大大提高了分布式系统的稳定性。
[0064]另一方面,在为分布式系统确定新的主Namenode的同时,更新用于存储主Namenode网络参数的存储单元,并触发使用上述分布式系统的用户侧和服务器侧从所述存储单元中读取新确定的主Namenode的网络参数信息,以此使得用户及服务器能够及时的使用新的主Namenode进行数据交互,这样就不会出现用户或服务器依然继续使用已经不提供服务的Namenode而造成无法完成正常的数据交互的问题,进一步的使得分布式系统可以完成自动切换Namenode的功能。
[0065]实施例二
[0066]在实施例一的基础上,本实施例将主要针对确定出一从Namenode作为新的主Namenode后,如何将该从Namenode转换成主Namenode的相关操作进行描述,请参阅图2,其为本发明一种分布式系统的Namenode切换方法的另一个方法流程示意图,还包括分布式共享存储系统,所述分布式共享存储系统分为多个存储块对写入的数据进行逐块存储,包括:
[0067]这里需要说明的是,分布式共享存储系统是一种分块存储式的数据存储系统,t匕如说为分布式系统提供记录日志流的分布式共享存储系统bookkeeper,其主要作用是对分布式系统中数据交互的一种备份,当主Namenode进行服务时,比如说接收到数据写请求(一般是对服务器上的数据内容进行数据删除、增加和修改等,均可视为对数据的一种写操作)时,主Namenode不仅会将成功处理的数据写请求中的数据内容保存到对应的内存中,也会写入到分布式共享存储系统中,这样可以保证当主Namenode无法正常工作时,新的主Namenode可以从分布式共享存储系统中读取数据到对应的内存中来继续提供原主Namenode的服务。
[0068]S201:所述主Namenode接收数据写请求;
[0069]S202:所述主Namenode将成功处理的数据写请求中的数据内容写入所述分布式共享存储系统的存储块中;
[0070]S203:当分布式共享存储系统检测到当前存储块写满数据后,切换另一存储块用于存储所述主Namenode写入的数据,并发送切换信令到所述临时节点中的从Namenode,所述切换信令包括刚被切换的写满数据的存储块的位置信息;
[0071]S204:相应的,从Namenode根据所述切换信令中的位置信息从所述刚被切换的写满数据的存储块中读取数据内容并预存到对应所述Namenode的内存中。
[0072]这种预先读取数据备份区域的数据主要是为了在主/从Namenode切换时少花费时间在新的主Namenode同步老的主Namenode所保存的数据内容上。当然,即使这么做,由于只是预存已经存储满的存储块中的数据内容,还不是完全的数据内容同步,所以如果当前的主Namenode无法正常工作而需要被切换的时候,新确定的主Namenode还需要将当前正在存储原主Namenode写入数据的存储块中的的数据内容保存到对应新确定的主Namenode的内存中才能达到新确定的主Namenode与原主Namenode保存的数据内容的完整和一致性。故,优选的,在所述使用所述新的主Namenode提供服务前,还包括:
[0073]所述新的主Namenode检测所述分布式共享存储系统中是否包含未被写满的存储块;
[0074]如果有,则将所述未被写满的存储块中数据内容读取到对应的内存中。
[0075]这样做可以使得新确定的主Namenode在提供服务时,内存中的数据内容与之前的老Namenode内存中的内容完全相同,没有出现任何的数据丢失的情况,以此达到了完全的同步。
[0076]由上述实施例可以看出,主Namenode将成功处理的用户侧和服务器侧的写请求中的数据内容写入分布式共享存储系统,分布式共享存储系统以存储块的形式将写入的数据进行逐块的保存,也就是说写满一个存储块就切换另一个存储块继续存储写入的数据,当切换存储块的时候,会向临时节点中其他从Namenode发送包含刚被切换的写满的存储块位置信息的切换信令,从Namenode可以由此将刚被切换的写满的存储块中的数据内容预存到对应从Namenode的内存中,这样使得从Namenode内存中保存的数据内容与主Namenode内存中保存的数据内容基本同步,最多就相差一个存储块中的数据内容,这样在主Namenode失去连接、无法工作的情况下,被确定为新的主Namenode的原从Namenode只需要读取当前用于存储数据的存储块中的数据内容即可完成完全的数据同步,以此完成Namenode的切换操作,由此大大减少了分布式系统切换Namenode所需要的时间,提高了用户体验度。
[0077]实施例三
[0078]与上述一种分布式系统的Namenode切换方法相对应,本发明实施例还提供了一种分布式系统的Namenode切换装置。请参阅图3,其为本发明一种分布式系统的Namenode切换装置的装置结构示意图,该装置包括配置单元300、主Namenode再判断单元301和提供服务单元302。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
[0079]配置单元300,用于配置至少两个Namenode,将所述Namenode连接到一临时节点中并获取连接参数,所述Namenode以预设的回调函数根据所述连接参数从所述Namenode中确定一个主Namenode和至少一个从Namenode,分布式系统只使用所述主Namenode提供服务;
[0080]主Namenode再判断单元301,用于当主Namenode与临时节点断开连接时,则判定主Namenode无法提供服务,触发所述临时节点中的从Namenode执行所述回调函数在所述从Namenode中确定新的主Namenode ;
[0081]提供服务单元302,用于使用所述新的主Namenode提供服务。
[0082]优选地,前述图3所示的装置还包括网络参数保存单元401和触发读取单元402,如图4所示:
[0083]网络参数保存单元401,用于当确定出主Namenode时,将所述主Namenode的网络参数更新到预设的存储单元中;
[0084]触发读取单元402,用于触发用户侧和服务器侧从所述存储单元中读取所述主Namenode的网络参数,使得所述用户侧和服务器侧根据读取的所述网络参数通过所述主Namenode进行数据交互。
[0085]优选地,还包括分布式共享存储系统,所述分布式共享存储系统分为多个存储块对写入的数据进行逐块存储,前述图3所示的装置还包括接收写请求单元501、数据写入单元502、存储块切换单元503和同步数据内容单元504,如图5所示:
[0086]接收写请求单元501,用于为所述主Namenode接收数据写请求;
[0087]数据写入单元502,用于为所述主Namenode将成功处理的数据写请求中的数据内容写入所述分布式共享存储系统的存储块中;
[0088]存储块切换单元503,用于为当分布式共享存储系统检测到当前存储块写满数据后,切换另一存储块用于存储所述主Namenode写入的数据,并发送切换信令到所述临时节点中的从Namenode,所述切换信令包括刚被切换的写满数据的存储块的位置信息;
[0089]同步数据内容单元504,用于为从Namenode根据所述切换信令中的位置信息从所述刚被切换的写满数据的存储块中读取数据内容并预存到对应所述Namenode的内存中。
[0090]优选地,前述图3所示的装置还包括存储块检测单元601,如图6所示:
[0091]存储块检测单元601,用于在所述使用所述新的主Namenode提供服务前,为所述新的主Namenode检测所述分布式共享存储系统中是否包含未被写满的存储块;
[0092]如果有,则将所述未被写满的存储块中数据内容读取到对应的内存中。
[0093]优选的,还包括:
[0094]所述连接参数具体为Namenode连接到临时节点的连接时间。
[0095]由上述实施例可以看出,一方面,为分布式系统设置至少两个Namenode并连接到一临时节点中,其中一个Namenode作为主Namenode为所述分布式系统提供服务,当作为主Namenode基于某些情况与临时节点断开连接时,该临时节点中其他为所述分布式系统设置的从Namenode会在所述从Namenode中确定新的主Namenode来为所述分布式系统继续提供服务,使得所述分布式系统不会因为Namenode的问题而无法正常工作,由此大大提高了分布式系统的稳定性。
[0096]另一方面,在为分布式系统确定新的主Namenode的同时,更新用于存储主Namenode网络参数的存储单元,并触发使用上述分布式系统的用户侧和服务器侧从所述存储单元中读取新确定的主Namenode的网络参数信息,以此使得用户及服务器能够及时的使用新的主Namenode进行数据交互,这样就不会出现用户或服务器依然继续使用已经不提供服务的Namenode而造成无法完成正常的数据交互的问题,进一步的使得分布式系统可以完成自动切换Namenode的功能。
[0097]另一方面,主Namenode将成功处理的用户侧和服务器侧的写请求中的数据内容写入分布式共享存储系统,分布式共享存储系统以存储块的形式将写入的数据进行逐块的保存,也就是说写满一个存储块就切换另一个存储块继续存储写入的数据,当切换存储块的时候,会向临时节点中其他从Namenode发送包含刚被切换的写满的存储块位置信息的切换信令,从Namenode可以由此将刚被切换的写满的存储块中的数据内容预存到对应从Namenode的内存中,这样使得从Namenode内存中保存的数据内容与主Namenode内存中保存的数据内容基本同步,最多就相差一个存储块中的数据内容,这样在主Namenode失去连接、无法工作的情况下,被确定为新的主Namenode的原从Namenode只需要读取当前用于存储数据的存储块中的数据内容即可完成完全的数据同步,以此完成Namenode的切换操作,由此大大减少了分布式系统切换Namenode所需要的时间,提高了用户体验度。
[0098]需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
[0099]以上对本发明所提供的一种分布式系统的Namenode切换方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种分布式系统的Namenode切换方法,其特征在于,配置至少两个Namenode,将所述Namenode连接到一临时节点中并获取连接参数,所述Namenode以预设的回调函数根据所述连接参数从所述Namenode中确定一个主Namenode和至少一个从Namenode,分布式系统只使用所述主Namenode提供服务,包括: 当主Namenode与临时节点断开连接时,则判定主Namenode无法提供服务,触发所述临时节点中的从Namenode执行所述回调函数在所述从Namenode中确定新的主Namenode ; 使用所述新的主Namenode提供服务。
2. 根据权利要求1所述的方法,其特征在于,还包括: 当确定出主Namenode时,将所述主Namenode的网络参数更新到预设的存储单元中;触发用户侧和服务器侧从所述存储单元中读取所述主Namenode的网络参数,使得所述用户侧和服务器侧根据读取的所述网络参数通过所述主Namenode进行数据交互。
3.根据权利要求1所述的方法,其特征在于,还包括分布式共享存储系统,所述分布式共享存储系统分为多个存储块对写入的数据进行逐块存储: 所述主Namenode接收数据写请求; 所述主Namenode将成功处理的数据写请求中的数据内容写入所述分布式共享存储系统的存储块中; 当分布式共享存储系统检测到当前存储块写满数据后,切换另一存储块用于存储所述主Namenode写入的数据,并发送切换信令到所述临时节点中的从Namenode,所述切换信令包括刚被切换的写满数据的存储块的位置信息; 相应的,从Namenode根据所述切换信令中的位置信息从所述刚被切换的写满数据的存储块中读取数据内容并预存到对应所述Namenode的内存中。
4.根据权利要求3所述的方法,其特征在于,在所述使用所述新的主Namenode提供服务前,还包括: 所述新的主Namenode检测所述分布式共享存储系统中是否包含未被写满的存储块; 如果有,则将所述未被写满的存储块中数据内容读取到对应的内存中。
5.根据权利要求1至4任意一项所述的方法,其特征在于,还包括: 所述连接参数具体为Namenode连接到临时节点的连接时间。
6.—种分布式系统的Namenode切换装置,其特征在于,包括: 配置单元,用于配置至少两个Namenode,将所述Namenode连接到一临时节点中并获取连接参数,所述Namenode以预设的回调函数根据所述连接参数从所述Namenode中确定一个主Namenode和至少一个从Namenode,分布式系统只使用所述主Namenode提供服务; 主Namenode再判断单元,用于当主Namenode与临时节点断开连接时,则判定主Namenode无法提供服务,触发所述临时节点中的从Namenode执行所述回调函数在所述从Namenode中确定新的主Namenode ; 提供服务单元,用于使用所述新的主Namenode提供服务。
7.根据权利要求6所述的装置,其特征在于,还包括: 网络参数保存单元,用于当确定出主Namenode时,将所述主Namenode的网络参数更新到预设的存储单元中; 触发读取单元,用于触发用户侧和服务器侧从所述存储单元中读取所述主Namenode的网络参数,使得所述用户侧和服务器侧根据读取的所述网络参数通过所述主Namenode进行数据交互。
8.根据权利要求6所述的装置,其特征在于,还包括分布式共享存储系统,所述分布式共享存储系统分为多个存储块对写入的数据进行逐块存储: 接收写请求单元,用于为所述主Namenode接收数据写请求; 数据写入单元,用于为所述主Namenode将成功处理的数据写请求中的数据内容写入所述分布式共享存储系统的存储块中; 存储块切换单元,用于为当分布式共享存储系统检测到当前存储块写满数据后,切换另一存储块用于存储所述主Namenode写入的数据,并发送切换信令到所述临时节点中的从Namenode,所述切换信令包括刚被切换的写满数据的存储块的位置信息; 同步数据内容单元,用于为从Namenode根据所述切换信令中的位置信息从所述刚被切换的写满数据的存储块中读取数据内容并预存到对应所述Namenode的内存中。
9.根据权利要求8所述的装置,其特征在于,还包括: 存储块检测单元,用于在所述使用所述新的主Namenode提供服务前,为所述新的主Namenode检测所述分布式共享存储系统中是否包含未被写满的存储块; 如果有,则将所述未被写满的存储块中数据内容读取到对应的内存中。
10.根据权利要求6至9任意一项所述的装置,其特征在于,还包括: 所述连接参数具体为Namenod`e连接到临时节点的连接时间。
【文档编号】H04L29/08GK103491192SQ201310462918
【公开日】2014年1月1日 申请日期:2013年9月30日 优先权日:2013年9月30日
【发明者】韩冰 申请人:北京搜狐新媒体信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1