CN107729539B - 主命名节点设置方法及装置 - Google Patents

主命名节点设置方法及装置 Download PDF

Info

Publication number
CN107729539B
CN107729539B CN201711047535.4A CN201711047535A CN107729539B CN 107729539 B CN107729539 B CN 107729539B CN 201711047535 A CN201711047535 A CN 201711047535A CN 107729539 B CN107729539 B CN 107729539B
Authority
CN
China
Prior art keywords
named
named node
node
main
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711047535.4A
Other languages
English (en)
Other versions
CN107729539A (zh
Inventor
郭军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201711047535.4A priority Critical patent/CN107729539B/zh
Publication of CN107729539A publication Critical patent/CN107729539A/zh
Application granted granted Critical
Publication of CN107729539B publication Critical patent/CN107729539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开是关于一种主命名节点设置方法及装置。该方法应用于部署有命名节点的服务器中,包括:在获取到数据库期限锁时,查询多个命名节点的数据库表更新信息;基于多个命名节点的数据库表更新信息,判断命名节点是否满足主命名节点设置条件;在满足主命名节点设置条件时,将命名节点自身设置为主命名节点。根据本公开的实施例,当前的命名节点通过在获取到数据库期限锁时查询多个命名节点的数据库表更新信息,并在判断出该命名节点满足主命名节点设置条件时,将该命名节点自身设置为主命名节点,从而简化了主命名节点的设置,提高了分布式系统命名节点的可用性。

Description

主命名节点设置方法及装置
技术领域
本公开涉及计算机技术领域,尤其涉及一种主命名节点设置方法及装置。
背景技术
分布式文件系统通过命名节点(NameNode)来保存相关元数据信息,为了保证命名节点的高可用性,通常会采用一组命名节点中的一个作为主(Master)命名节点对外提供服务,其他命名节点作为从(Slave)命名节点。一个从命名节点可以在主命名节点宕机或不能提供对外服务时,被选举为新的主命名节点对外提供服务。
相关技术中,可以通过分布式协议(例如,Raft协议)选举主命名节点,然而,此类方法的实现过程较为复杂。
发明内容
为克服相关技术中存在的问题,本公开提供一种主命名节点设置方法及装置。
根据本公开实施例的第一方面,提供一种主命名节点设置方法,所述方法应用于部署有命名节点的服务器中,包括:
在获取到数据库期限锁时,查询多个命名节点的数据库表更新信息;
基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件;
在满足所述主命名节点设置条件时,将所述命名节点自身设置为主命名节点。
对于以上方法,在一种可能的实现方式中,所述方法还包括:
在不满足所述主命名节点设置条件时,基于所述多个命名节点的数据库表更新信息,确定所述命名节点的类型;
根据所述命名节点的类型,更新所述命名节点的数据库表。
对于以上方法,在一种可能的实现方式中,根据所述命名节点的类型,更新所述命名节点的数据库表,包括以下方式中的一个:
在所述命名节点的类型为主命名节点时,更新所述命名节点的数据库表中更新时间字段;
在所述命名节点的类型为从命名节点时,更新所述命名节点的数据库表中更新时间字段;
在所述命名节点的类型为已被替换的主命名节点时,更新所述命名节点的数据库表中的类型字段以及更新时间字段。
对于以上方法,在一种可能的实现方式中,基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件,包括:
在所述更新信息中没有主命名节点的更新信息的情况下,确定所述命名节点满足主命名节点的设置条件。
对于以上方法,在一种可能的实现方式中,将所述命名节点自身设置为主命名节点,包括:
更新所述命名节点的数据库表,将所述命名节点设置为主命名节点。
对于以上方法,在一种可能的实现方式中,所述方法还包括:
响应于来自客户端的读数据请求,从存储有元数据信息的数据库(例如,Mysql)中读取相应的数据;
向所述客户端返回所述数据。
对于以上方法,在一种可能的实现方式中,所述方法还包括:
在更新所述命名节点的数据库表之后,释放所述数据库期限锁。
对于以上方法,在一种可能的实现方式中,所述方法还包括:
在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
对于以上方法,在一种可能的实现方式中,在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中,包括:
在将所述命名节点自身设置为主命名节点后,该主命名节点再次基于查询到的多个命名节点的数据库表更新信息确定自身是主命名节点时,确定满足加载元数据信息的条件;
在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
对于以上方法,在一种可能的实现方式中,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中,包括:
所述主命名节点将元数据信息加载的过程中修改的元数据信息存入修正缓存中;
在所述元数据信息加载完成时,所述主命名节点将所述修正缓存中的元数据信息合并到所述主命名节点内存已加载的元数据信息中。
根据本公开实施例的第二方面,提供一种主命名节点设置装置,所述装置应用于部署有命名节点的服务器中,包括:
信息查询模块,用于在获取到数据库期限锁时,查询多个命名节点的数据库表更新信息;
判断模块,用于基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件;
设置模块,用于在满足所述主命名节点设置条件时,将所述命名节点自身设置为主命名节点。
对于以上装置,在一种可能的实现方式中,所述装置还包括:
确定模块,用于在不满足所述主命名节点设置条件时,基于所述多个命名节点的数据库表更新信息,确定所述命名节点的类型;
数据库表更新模块,用于根据所述命名节点的类型,更新所述命名节点的数据库表。
对于以上装置,在一种可能的实现方式中,所述数据库表更新模块包括以下子模块中的一个:
第一数据库表更新子模块,用于在所述命名节点的类型为主命名节点时,更新所述命名节点的数据库表中更新时间字段;
第二数据库表更新子模块,用于在所述命名节点的类型为从命名节点时,更新所述命名节点的数据库表中更新时间字段;
第三数据库表更新子模块,用于在所述命名节点的类型为已被替换的主命名节点时,更新所述命名节点的数据库表中的类型字段以及更新时间字段。
对于以上装置,在一种可能的实现方式中,所述判断模块包括:
第一确定子模块,用于在所述更新信息中没有主命名节点的更新信息的情况下,确定所述命名节点满足主命名节点的设置条件。
对于以上装置,在一种可能的实现方式中,所述设置模块包括:
设置子模块,用于更新所述命名节点的数据库表,将所述命名节点设置为主命名节点。
对于以上装置,在一种可能的实现方式中,所述装置还包括:
数据读取模块,用于响应于来自客户端的读数据请求,从存储有元数据信息的数据库中读取相应的数据;
数据返回模块,用于向所述客户端返回所述数据。
对于以上装置,在一种可能的实现方式中,所述装置还包括:
期限锁释放模块,用于在更新所述命名节点的数据库表之后,释放所述数据库期限锁。
对于以上装置,在一种可能的实现方式中,所述装置还包括:
信息加载模块,用于在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
对于以上装置,在一种可能的实现方式中,所述信息加载模块包括:
第二确定子模块,用于在将所述命名节点自身设置为主命名节点后,该主命名节点再次基于查询到的多个命名节点的数据库表更新信息确定自身是主命名节点时,确定满足加载元数据信息的条件;
信息加载子模块,用于在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
对于以上装置,在一种可能的实现方式中,所述信息加载模块包括:
信息存入子模块,用于所述主命名节点将元数据信息加载的过程中修改的元数据信息存入修正缓存中;
信息合并子模块,用于在所述元数据信息加载完成时,所述主命名节点将所述修正缓存中的元数据信息合并到所述主命名节点内存已加载的元数据信息中。
根据本公开实施例的第三方面,提供一种主命名节点设置装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述方法。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行上述主命名节点设置方法。
本公开的实施例提供的技术方案可以包括以下有益效果:当前的命名节点通过在获取到数据库期限锁时查询多个命名节点的数据库表更新信息,并在判断出该命名节点满足主命名节点设置条件时,将该命名节点自身设置为主命名节点,从而简化了主命名节点的设置,提高了分布式系统命名节点的可用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种分布式文件系统一组命名节点的结构示意图。
图2是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图3是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图4是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图5是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图6是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图7是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图8是根据一示例性实施例示出的一种分布式文件系统命名节点的状态的示意图。
图9是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图10是根据一示例性实施例示出的一种主命名节点设置方法的步骤S27的流程图。
图11是根据一示例性实施例示出的一种主命名节点设置方法的步骤S27的流程图。
图12是根据一示例性实施例示出的一种主命名节点设置方法的流程图。
图13是根据一示例性实施例示出的一种主命名节点设置方法的应用场景的示意图。
图14是根据一示例性实施例示出的一种主命名节点设置装置的框图。
图15是根据一示例性实施例示出的一种主命名节点设置装置的框图。
图16是根据一示例性实施例示出的一种主命名节点设置装置的框图。
图17是根据一示例性实施例示出的一种主命名节点设置装置的框图。
图18是根据一示例性实施例示出的一种主命名节点设置装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种分布式文件系统一组命名节点的结构示意图。如图1所示,该分布式文件系统一组命名节点可以包括多个命名节点(例如,3个部署有命名节点的服务器),其中,包括一个主命名节点(Master NameNode)以及两个从命名节点(Slave NameNode)。主命名节点负责存储分布式文件系统的相关元数据信息,并对外提供服务。在主命名节点宕机或者不能对外提供服务时,一个从命名节点可以取代旧的主命名节点成为新的主命名节点,并对外提供服务,从而保证命名节点的高可用性。本领域技术人员应理解,分布式文件系统一组命名节点中的命名节点的数量可以根据需要进行设置,本公开对此不作限制。
图2是根据一示例性实施例示出的一种主命名节点设置方法的流程图。如图2所示,该方法应用于部署有命名节点的服务器中,该部署有命名节点的服务器可以是部署有命名节点的多个服务器中的任意一个。根据本公开实施例的主命名节点设置方法包括:
在步骤S21中,在获取到数据库期限锁时,查询多个命名节点的数据库表更新信息;
在步骤S22中,基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件;
在步骤S23中,在满足所述主命名节点设置条件时,将所述命名节点自身设置为主命名节点。
根据本公开的实施例,当前的命名节点通过在获取到数据库期限锁时查询多个命名节点的数据库表更新信息,并在判断出该命名节点满足主命名节点设置条件时,将该命名节点自身设置为主命名节点,从而简化了主命名节点的设置,提高了分布式系统命名节点的可用性。
举例来说,在命名节点的数据库中可以包括一个数据库表(例如,可以创建一个守护进程(daemon)表),该数据库表可以至少包括以下表1内的字段:
表1数据库表
字段名 数据类型 描述
编号(Id) Int Seq(一串数字)
主机(Host) Varchar(32) 对应的主机
主(Master) Int 是否为主(Master):1,是;0,否
更新时间(Update_time) Datetime 表示数据的更新时间
在表1的字段名中,字段:编号(Id)表示该命名节点的编号,字段:主机(Host)表示部署有该命名节点的服务器地址,字段:主(Master)为该命名节点的类型字段,用于表示该命名节点是否为主命名节点(1,是;0,否),字段:更新时间(Update_time)表示该命名节点的数据库表的更新时间。在表1的数据类型中,Int、Varchar(32)、Datetime分别表示数据库表的各个字段名的数据类型。其中,Seq表示编号(Id)是一串数字。
现以该分布式文件系统的一组命名节点中包括两个命名节点为例进行说明,两个命名节点分别为命名节点0和命名节点1。该两个命名节点中,一个为主命名节点,另一个为从命名节点,并以集群的方式工作,每个命名节点在数据库的数据库表中有一条数据对应。例如,命名节点0在数据库的数据库表中对应的数据为:(0,‘10.135.151.27’,1,‘2016-8-300:00:01’),此时,根据该数据的主(Master)字段(为1),可以判断出命名节点0为主命名节点。命名节点1在数据库的数据库表中对应的数据为:(1,‘10.135.151.28’,0,‘2016-8-300:00:00’),此时,根据该数据的主(Master)字段,可以判断出命名节点1为从命名节点。
在一种可能的实现方式中,主命名节点的设置和检查可以通过单独的线程进行,例如,各命名节点可以以第一时间区间(例如2s)来检查并设置主命名节点。这样,各命名节点可以及时检查主命名节点的状态(状态可以包括正常提供服务、宕机、不能对外服务等),并在需要设置主命名节点的情况下(例如,主命名节点宕机时),设置主命名节点。本领域技术人员应理解,第一时间区间的具体数值可以根据需要进行设置,只要可以准确获取主命名节点的状态即可,本公开对此不作限制。
在一种可能的实现方式中,各个命名节点可以获取数据库期限锁,在获取到数据库期限锁时,获取到数据库期限锁的命名节点可以进行针对该数据库的相应数据库表的相关操作,此时,其他命名节点需要等待持有数据库期限锁的命名节点释放该数据库期限锁,才可以获取到该数据库期限锁。
举例来说,当命名节点1获取到数据库期限锁时,命名节点1可以针对该数据库的数据库表进行相关操作,此时,其他命名节点无法获取到该数据库期限锁。例如,命名节点1可以查询在第二时间区间内(例如,最近5s)内的多个命名节点的数据库表更新信息。举例来说,命名节点1的查询时间为2016-8-3 00:00:06,第二时间区间可以设置为5s,此时,命名节点1可以查询数据库表在2016-8-3 00:00:06到2016-8-3 00:00:01之间的多个命名节点的数据库表更新信息(例如,可以查询数据库表的Master字段和Host字段更新信息)。例如,在命名节点的数量为两个(命名节点0和命名节点1)的情况下,数据库表更新信息可以如下:
(0,‘10.135.151.27’,0,‘2016-8-3 00:00:04’)
(1,‘10.135.151.28’,1,‘2016-8-3 00:00:02’)
在一种可能的实现方式中,可以将多个命名节点的数据库表更新信息按照相关字段信息进行排序,例如,可以按照更新时间降序或升序、按照Host字段升序或降序等方式进行排序,这样,方便查询该数据库表更新信息。本领域技术人员应理解,可以通过相关技术实现对多个命名节点的数据库表更新信息的查询,可以根据需要选择查询该数据库表的一个或多个字段的更新信息,例如,通过SQL语句来实现,只要可以查询到多个命名节点的数据库表更新信息即可,本公开对此不作限制。
在一种可能的实现方式中,可以基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件。
举例来说,命名节点1在查询到多个命名节点的数据库表更新信息后,可以根据该更新信息,判断该命名节点1是否满足主命名节点设置条件。
图3是根据一示例性实施例示出的一种主命名节点设置方法的流程图。在一种可能的实现方式中,如图3所示,步骤S22可以包括:
在步骤S221中,在所述更新信息中没有主命名节点的更新信息的情况下,确定所述命名节点满足主命名节点的设置条件。
举例来说,当该更新信息中没有主命名节点的更新信息时,例如,更新信息的Master字段都为0,则代表在第二时间区间内没有主命名节点更新过该数据库表,所以无法得到主命名节点更新数据库表的数据(可能的情况是,原有的主命名节点已宕机)。此时,可以确定该命名节点满足主命名节点的设置条件。
例如,当命名节点1查询到的多个命名节点的数据库表更新信息如下:
(1,‘10.135.151.28’,0,‘2016-8-3 00:00:04’)
(1,‘10.135.151.28’,0,‘2016-8-3 00:00:02’)
此时,在该更新信息中没有主命名节点的更新信息(2条更新信息的Master字段皆为0),可以判断该命名节点1满足主命名节点的设置条件,将该命名节点1自身设置为主命名节点。
通过这种方式,可以根据数据库表更新信息判断出主命名节点的状态,并在主命名节点的状态为第二时间区间内无更新数据时,判断主命名节点处于宕机或不可对外提供服务状态,此时,可以将持有数据库期限锁的命名节点设置为主命名节点,从而简化了主命名节点的设置,提高了分布式系统命名节点的可用性。本领域技术人员应理解,还可以通过其他方式判断命名节点是否满足主命名节点设置条件,本公开对此不作限制。
图4是根据一示例性实施例示出的一种主命名节点设置方法的流程图。在一种可能的实现方式中,如图4所示,步骤S23可以包括:
在步骤S231中,更新所述命名节点的数据库表,将所述命名节点设置为主命名节点。
举例来说,在命名节点1满足主命名节点设置条件时,可以更新该命名节点1的数据库表,将命名节点1自身设置为主命名节点。例如,该命名节点1的数据库表的数据可以为(1,‘10.135.151.28’,0,‘2016-8-3 00:00:04’),可以更新为(1,‘10.135.151.28’,1,‘2016-8-3 00:00:06’),从而将该命名节点1设置为主命名节点。
通过这种方式,可以在命名节点满足主命名节点设置条件时,将该命名节点自身设置为主命名节点。本领域技术人员应理解,可以通过相关技术实现将命名节点自身设置为主命名节点,例如,通过SQL语句更新命名节点的数据库表,只要可以将命名节点设置为主命名节点即可,本公开对此不作限制。
图5是根据一示例性实施例示出的一种主命名节点设置方法的流程图。在一种可能的实现方式中,如图5所示,所述方法还包括:
在步骤S24中,在不满足所述主命名节点设置条件时,基于所述多个命名节点的数据库表更新信息,确定所述命名节点的类型;
在步骤S25中,根据所述命名节点的类型,更新所述命名节点的数据库表。
举例来说,当命名节点1查询到的数据库表更新信息中存在主命名节点的更新信息的情况下(更新信息中存在Master字段为1的更新信息),此时,可以认为存在活跃的主命名节点,命名节点1不满足主命名节点设置条件。可以基于该多个命名节点的数据库表更新信息,确定该命名节点1的类型,例如,该命名节点1可以为主命名节点、从命名节点或者已被替换的主命名节点,并根据命名节点1的类型,更新该命名节点1的数据库表。
图6是根据一示例性实施例示出的一种主命名节点设置方法的流程图。在一种可能的实现方式中,如图6所示,步骤S25可以包括以下方式中的一种:
在步骤S251中,在所述命名节点的类型为主命名节点时,更新所述命名节点的数据库表中更新时间字段;
在步骤S252中,在所述命名节点的类型为从命名节点时,更新所述命名节点的数据库表中更新时间字段;
在步骤S253中,在所述命名节点的类型为已被替换的主命名节点时,更新所述命名节点的数据库表中的类型字段以及更新时间字段。
举例来说,在不满足主命名节点设置条件时,该命名节点可以基于多个命名节点的数据库表更新信息,确定该命名节点的类型。
在一种可能的实现方式中,获取到数据库期限锁的命名节点,在查询到该数据库表更新信息中包括主命名节点的更新信息,且该主命名节点的主机字段与该命名节点的主机字段相同时,确定该命名节点的类型为主命名节点,更新该命名节点的数据库表中更新时间字段。
举例来说,命名节点1查询到的数据库表更新信息可以为:
(0,‘10.135.151.27’,0,‘2016-8-3 00:00:04’)
(1,‘10.135.151.28’,1,‘2016-8-3 00:00:04’)
此时,该数据库表更新信息中包括主命名节点的更新信息,该命名节点1不满足主命名节点设置条件。根据数据库表更新信息得到的主命名节点的Host字段(‘10.135.151.28’)与命名节点1的Host字段相同,此时,该命名节点1的类型为主命名节点。并可以根据该命名节点的类型,更新该命名节点的数据库表。例如,更新命名节点1的数据库表中的update_time(更新时间)字段到当前时间点。
在一种可能的实现方式中,获取到数据库期限锁的命名节点,在查询到该数据库表更新信息中包括主命名节点的更新信息,且该主命名节点的主机字段与该命名节点的主机字段不相同时,确定该命名节点的类型为从命名节点,更新该命名节点的数据库表中更新时间字段。
举例来说,命名节点1查询到的数据库表更新信息可以为:
(0,‘10.135.151.27’,1,‘2016-8-3 00:00:04’)
(1,‘10.135.151.28’,0,‘2016-8-3 00:00:04’)
此时,主命名节点的Host字段为‘10.135.151.27’,而命名节点1的Host字段为‘10.135.151.28’,此时,主命名节点的Host字段与该命名节点1的Host字段不相同,该命名节点1的类型为从命名节点。可以根据该命名节点1的类型,更新该命名节点1的数据库表。例如,更新命名节点1的数据库表中的Update_time(更新时间)字段到当前的时间点。
在一种可能的实现方式中,获取到数据库期限锁的命名节点,在查询到该数据库表更新信息中包括主命名节点的更新信息,该主命名节点的主机字段与该命名节点的主机字段不相同,且该命名节点的类型字段表示其为主命名节点时,确定该命名节点的类型为已被替换的主命名节点,更新该命名节点的数据库表中的类型字段以及更新时间字段。
举例来说,命名节点1查询到的数据库表更新信息可以为:
(0,‘10.135.151.27’,1,‘2016-8-3 00:00:04’)
(0,‘10.135.151.27’,1,‘2016-8-3 00:00:00’)
此时,该命名节点1的数据库表更新信息可以为(1,‘10.135.151.28’,1,‘2016-8-2 23:59:56’),代表该命名节点1在2016-8-2 23:59:56这一时刻为主命名节点,并更新了其数据库表,但已经被其他命名节点(0,‘10.135.151.27’,1,‘2016-8-3 00:00:00’)所替换。此时,根据命名节点1的类型,可以更新该数据库表的类型字段以及更新时间字段,例如,更新Master(主)字段为0,并更新Update_time(更新时间)字段到当前的时间点,此时,该命名节点1为从命名节点。
通过这种方式,可以在该命名节点不满足主命名节点设置条件时,根据多个命名节点的数据库表更新信息确定该命名节点的类型,并根据该命名节点的类型,更新该命名节点的数据库表,从而实现对主命名节点的检查和设置。本领域技术人员应理解,可以通过相关技术实现对命名节点类型的确认,并根据其类型更新数据库表,本公开对此不作限制。
图7是根据一示例性实施例示出的一种主命名节点设置方法的流程图。在一种可能的实现方式中,如图7所示,所述方法还包括:
在步骤S26中,在更新所述命名节点的数据库表之后,释放所述数据库期限锁。
举例来说,在更新过命名节点的数据库表后(可以更新命名节点的数据库表,使其自身设置为主命名节点,也可以包括根据该命名节点的类型,更新命名节点的数据库表),可以释放该数据库期限锁。通过这种方式,其他命名节点可以获取到该数据库期限锁,并根据需要更新其数据库表。本领域技术人员应理解,可以通过相关技术实现对该数据库期限锁的释放,例如SQL语句等,本公开对此不作限制。
图8是根据一示例性实施例示出的一种分布式文件系统命名节点的状态的示意图。在一种可能的实现方式中,如图8所示,该分布式文件系统的命名节点可以包括4种状态,分别为处于从命名节点状态、主命名节点候选状态(Master_Candidate)、主命名节点初始化状态(Master Initializing)以及主命名节点状态(Be Master)。
其中,在命名节点通过查询数据库表更新信息,确定该数据库表更新信息中包括主命名节点的更新信息,且该主命名节点的主机字段与该命名节点的主机字段不相同时,确定该命名节点处于从命名节点状态。处于从命名节点状态的从命名节点通过查询数据库表更新信息,确定该数据库表更新信息中没有主命名节点的更新信息时,该从命名节点状态的从命名节点通过更新数据库表的方式将自身设置为主命名节点时,该命名节点进入主命名节点候选状态。处于主命名节点候选状态的主命名节点再次通过查询数据库表更新信息,确定自身为主命名节点时,该主命名节点进入主命名节点初始化状态,开始从存储有元数据信息的数据库中加载元数据到其内存中。处于主命名节点初始化状态的主命名节点在将所有的元数据信息加载到其内存中之后进入主命名节点状态(Be Master)。
其中,处于从命名节点状态的从命名节点,可以接收来自客户端的读取请求,并响应于该读取请求,直接穿透读取存储在数据库(例如,Mysql)中的元数据信息,此时,该从命名节点无法接收来自客户端的写请求。处于主命名节点候选状态的主命名节点,可以接收并处理来自客户端的所有读取请求以及写请求,并直接穿透性的读写数据库中的元数据信息,可以暂时不进行加载元数据信息到主命名节点内存的相关操作。处于主命名节点初始化状态的主命名节点可以接收并处理来自客户端的所有读取请求以及写请求。该主命名节点对于来自客户端的写请求,会穿透写入到数据库中。对于来自客户端的读取请求,可以直接穿透性的读取数据库中的元数据信息。处于主命名节点状态的主命名节点可以接收并处理来自客户端的所有读取请求以及写请求。该主命名节点对于来自客户端的写请求,会穿透写入到数据库中,然后修改本地的元数据信息。对于来自客户端的读取请求,可以直接从内存中已加载的元数据信息中读取。
图9是根据一示例性实施例示出的一种主命名节点设置方法的流程图。在一种可能的实现方式中,如图9所示,所述方法还包括:
在步骤S27中,在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
举例来说,在该主命名节点满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到该主命名节点的内存中。这样,可以提高该主命名节点响应于客户端的读写请求的处理速度。本领域技术人员应理解,可以根据需要设置满足加载元数据信息的条件,并加载元数据信息到主命名节点的内存中,本公开对此不作限制。
图10是根据一示例性实施例示出的一种主命名节点设置方法的步骤S27的流程图。在一种可能的实现方式中,如图10所示,步骤S27可以包括:
在步骤S271中,在将所述命名节点自身设置为主命名节点后,该主命名节点再次基于查询到的多个命名节点的数据库表更新信息确定自身是主命名节点时,确定满足加载元数据信息的条件;
在步骤S272中,在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
举例来说,如前文所述,当命名节点1将自身设置为主命名节点后(此时该命名节点1处于主命名节点候选状态),可以释放该数据库期限锁。当该命名节点1再次获取到该数据库期限锁时,可以查询多个命名节点的数据库更新信息。此时,该命名节点1可以查询到其自身为主命名节点,此时,确定满足加载元数据信息的条件。该处于主命名节点候选状态的主命名节点1再次基于查询到的多个命名节点的数据库表更新信息确定自身是主命名节点时,从主命名节点候选状态进入主命名节点初始化状态。
此时,处于主命名节点初始化状态的命名节点1可以从存储有元数据信息的数据库中加载元数据信息到其内存中。这样,可以保证同一个集群中同一时刻只存在1个主命名节点。本领域技术人员应理解,可以采用多种相关技术实现从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中,本公开对此不作限制。
图11是根据一示例性实施例示出的一种主命名节点设置方法的步骤S27的流程图。在一种可能的实现方式中,如图11所示,步骤S27可以包括:
在步骤S273中,所述主命名节点将元数据信息加载的过程中修改的元数据信息存入修正缓存中;
在步骤S274中,在所述元数据信息加载完成时,所述主命名节点将所述修正缓存中的元数据信息合并到所述主命名节点内存已加载的元数据信息中。
举例来说,该数据库可以为存储有元数据信息的Mysql,该数据库默认的事务隔离级别为已提交读取(Read Committed)。此时,在加载元数据信息过程中(加载元数据耗时与元数据信息的数据量相关,数据量越多,加载时间越长)的相关修改操作(例如,主命名节点的修改操作),可能因为该数据库的事务隔离级别为提交读级别,而无法加载到主命名节点的内存中(有可能被漏掉加载)。
在一种可能的实现方式中,主命名节点可以将元数据信息加载过程中修改后的元数据信息放到一个修正缓存(Modified Cache)中,并在元数据加载完成后,将修正缓存中的元数据信息合并到主命名节点内存的已加载的元数据信息中。
通过这种方式,可以准确加载所有元数据信息到主命名节点的内存中。本领域技术人员应理解,还可以通过其他方式加载所有元数据信息到主命名节点的内存中,本公开对此不作限制。
在一种可能的实现方式中,在处于主命名节点初始化状态的命名节点将所有元数据信息加载到其内存中时,该命名节点可以进入主命名节点状态(Be Master)。此时,处于主命名节点状态的命名节点1,对于来自客户端的所有修改请求,可以先穿透写入到数据库中,然后修改本地的元数据信息。对于来自客户端的读取请求,可以直接从内存中已加载的元数据信息中直接读取。
通过这种方式,将元数据信息存储在主命名节点的内存中,可以提高客户端对元数据的访问速度。
图12是根据一示例性实施例示出的一种主命名节点设置方法的流程图。在一种可能的实现方式中,如图12所示,所述方法还包括:
在步骤S28中,响应于来自客户端的读数据请求,从存储有元数据信息的数据库中读取相应的数据;
在步骤S29中,向所述客户端返回所述数据。
举例来说,客户端可以向命名节点发送读数据请求,其中,该命名节点可以为主命名节点,也可以为从命名节点。命名节点可以从存储有元数据信息的数据库中读取相应的数据,并将所述数据返回客户端。
通过这种方式,一组命名节点中的多个命名节点都可以满足来自客户端的读数据请求,减少了主命名节点的处理压力。本领域技术人员应理解,可以通过相关技术实现从存储有元数据信息的数据库中读取相应的数据,本公开对此不作限制。
应用示例
以下结合“主命名节点的设置方法”作为一个示例性应用场景,给出根据本公开实施例的应用示例,以便于理解主命名节点设置方法的流程。本领域技术人员应理解,以下应用示例仅仅是出于便于理解本发明实施例的目的,不应视为对本发明实施例的限制。
图13是根据一示例性实施例示出的一种主命名节点设置方法的应用场景的示意图。如图13所示,在该应用示例中,分布式文件系统一组命名节点包括两个部署有命名节点的服务器,分别为命名节点0和命名节点1。
在该应用示例中,命名节点1在获取到数据库期限锁时,可以查询多个命名节点(命名节点0和命名节点1)在最近5s内的数据库表更新信息。在该应用示例中,在该更新信息中没有主命名节点的更新信息的情况下,可以判断命名节点1满足主命名节点的设置条件。在该应用示例中,该命名节点1可以更新其数据库表,将自身设置为主命名节点。在该应用示例中,在更新过数据库表之后,该命名节点1可以释放该数据库期限锁。
在该应用示例中,该命名节点1可以再次获取到数据库期限锁,并再次查询多个命名节点在最近5s内的数据库表更新信息。在该应用示例中,在该更新信息中存在主命名节点的更新信息时,不满足主命名节点设置条件。在该应用示例中,可以基于该数据库表更新信息,确定命名节点1的类型。例如,该更新信息中主命名节点的主机地址与命名节点1的主机地址相同,此时,可以根据该命名节点1的类型(主命名节点,且处于主命名节点候选状态),更新该命名节点1的数据库表,例如,更新数据库表中的Update_time字段到当前时间点。
在该应用示例中,该命名节点1满足加载元数据信息的条件,此时,可以从存储有元数据信息的数据库(例如,Mysql)中加载元数据信息到该命名节点1(主命名节点)的内存中。
在该应用示例中,该命名节点1为主命名节点时,命名节点0可以为从命名节点。命名节点1或命名节点0可以响应于来自客户端的读数据请求,从存储有元数据信息的数据库中读取相应的数据。在该应用示例中,可以向客户端返回该数据。
在该应用示例中,该命名节点1为主命名节点时,可以响应于来自客户端的写数据请求,可以直接将该写数据请求穿透写入到数据库中,并更新主命名节点(命名节点1)的内存中的元数据信息。
在该应用示例中,命名节点0可以获取到数据库期限锁,并查询多个命名节点在最近5s内的数据库表更新信息。在该应用示例中,在该更新信息中存在主命名节点的更新信息时,不满足主命名节点设置条件。在该应用示例中,可以基于该数据库表更新信息,确定命名节点0的类型。例如,该更新信息中主命名节点的主机地址与命名节点0的主机地址不相同,此时,可以根据该命名节点0的类型(从命名节点),更新该命名节点0的数据库表(例如,更新数据库表中的Update_time字段到当前时间点)。
根据本公开的实施例,当前的命名节点通过在获取到数据库期限锁时查询多个命名节点的数据库表更新信息,并在判断出命名节点满足主命名节点设置条件时,将命名节点自身设置为主命名节点,从而简化了主命名节点的设置,提高了分布式系统命名节点的可用性。
图14是根据一示例性实施例示出的一种主命名节点设置装置的框图。参照图14,该装置应用于部署有命名节点的服务器中,该装置包括信息查询模块91,判断模块92和设置模块93。
该信息查询模块91,被配置为在获取到数据库期限锁时,查询多个命名节点的数据库表更新信息;
该判断模块92,被配置为基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件;
该设置模块93,被配置为在满足所述主命名节点设置条件时,将所述命名节点自身设置为主命名节点。
图15是根据一示例性实施例示出的一种主命名节点设置装置的框图。参照图15,在一种可能的实现方式中,所述装置还包括:
确定模块94,被配置为在不满足所述主命名节点设置条件时,基于所述多个命名节点的数据库表更新信息,确定所述命名节点的类型;
数据库表更新模块95,被配置为根据所述命名节点的类型,更新所述命名节点的数据库表。
参照图15,在一种可能的实现方式中,所述数据库表更新模块95包括以下子模块中的一个:
第一数据库表更新子模块951,被配置为在所述命名节点的类型为主命名节点时,更新所述命名节点的数据库表中更新时间字段;
第二数据库表更新子模块952,被配置为在所述命名节点的类型为从命名节点时,更新所述命名节点的数据库表中更新时间字段;
第三数据库表更新子模块953,被配置为在所述命名节点的类型为已被替换的主命名节点时,更新所述命名节点的数据库表中的类型字段以及更新时间字段。
参照图15,在一种可能的实现方式中,所述判断模块92包括:
第一确定子模块921,被配置为在所述更新信息中没有主命名节点的更新信息的情况下,确定所述命名节点满足主命名节点的设置条件。
参照图15,在一种可能的实现方式中,设置模块93包括:
设置子模块931,被配置为更新所述命名节点的数据库表,将所述命名节点设置为主命名节点。
参照图15,在一种可能的实现方式中,所述装置还包括:
期限锁释放模块96,被配置为在更新所述命名节点的数据库表之后,释放所述数据库期限锁。
图16是根据一示例性实施例示出的一种主命名节点设置装置的框图。参照图16,在一种可能的实现方式中,所述装置还包括:
数据读取模块98,被配置为响应于来自客户端的读数据请求,从存储有元数据信息的数据库中读取相应的数据;
数据返回模块99,被配置为向所述客户端返回所述数据。
图17是根据一示例性实施例示出的一种主命名节点设置装置的框图。参照图17,在一种可能的实现方式中,所述装置还包括:
信息加载模块97,被配置为在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
参照图17,在一种可能的实现方式中,所述信息加载模块97包括:
第二确定子模块971,被配置为在将所述命名节点自身设置为主命名节点后,该主命名节点再次基于查询到的多个命名节点的数据库表更新信息确定自身是主命名节点时,确定满足加载元数据信息的条件;
信息加载子模块972,被配置为在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
参照图17,在一种可能的实现方式中,所述信息加载模块包括:
信息存入子模块973,被配置为所述主命名节点将元数据信息加载的过程中修改的元数据信息存入修正缓存中;
信息合并子模块974,被配置为在所述元数据信息加载完成时,所述主命名节点将所述修正缓存中的元数据信息合并到所述主命名节点内存已加载的元数据信息中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图18是根据一示例性实施例示出的一种主命名节点设置装置的框图。例如,装置1900可以被提供为一服务器。参照图18,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1932,上述指令可由装置1900的处理组件1922执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (18)

1.一种主命名节点设置方法,其特征在于,所述方法应用于部署有命名节点的服务器中,包括:
在获取到数据库期限锁时,查询多个命名节点的数据库表更新信息;
基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件;
在满足所述主命名节点设置条件时,将所述命名节点自身设置为主命名节点;
在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中;
其中,所述在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中,包括:
在将所述命名节点自身设置为主命名节点后,该主命名节点再次基于查询到的多个命名节点的数据库表更新信息确定自身是主命名节点时,确定满足加载元数据信息的条件;
在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在不满足所述主命名节点设置条件时,基于所述多个命名节点的数据库表更新信息,确定所述命名节点的类型;
根据所述命名节点的类型,更新所述命名节点的数据库表。
3.根据权利要求2所述的方法,其特征在于,根据所述命名节点的类型,更新所述命名节点的数据库表,包括以下方式中的一种:
在所述命名节点的类型为主命名节点时,更新所述命名节点的数据库表中更新时间字段;
在所述命名节点的类型为从命名节点时,更新所述命名节点的数据库表中更新时间字段;
在所述命名节点的类型为已被替换的主命名节点时,更新所述命名节点的数据库表中的类型字段以及更新时间字段。
4.根据权利要求1所述的方法,其特征在于,基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件,包括:
在所述更新信息中没有主命名节点的更新信息的情况下,确定所述命名节点满足主命名节点的设置条件。
5.根据权利要求1所述的方法,其特征在于,将所述命名节点自身设置为主命名节点,包括:
更新所述命名节点的数据库表,将所述命名节点设置为主命名节点。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于来自客户端的读数据请求,从存储有元数据信息的数据库中读取相应的数据;
向所述客户端返回所述数据。
7.根据权利要求1-5中任意一项所述的方法,其特征在于,所述方法还包括:
在更新所述命名节点的数据库表之后,释放所述数据库期限锁。
8.根据权利要求1所述的方法,其特征在于,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中,包括:
所述主命名节点将元数据信息加载的过程中修改的元数据信息存入修正缓存中;
在所述元数据信息加载完成时,所述主命名节点将所述修正缓存中的元数据信息合并到所述主命名节点内存已加载的元数据信息中。
9.一种主命名节点设置装置,其特征在于,所述装置应用于部署有命名节点的服务器中,包括:
信息查询模块,用于在获取到数据库期限锁时,查询多个命名节点的数据库表更新信息;
判断模块,用于基于所述多个命名节点的数据库表更新信息,判断所述命名节点是否满足主命名节点设置条件;
设置模块,用于在满足所述主命名节点设置条件时,将所述命名节点自身设置为主命名节点;
信息加载模块,用于在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中;
其中,所述信息加载模块包括:
第二确定子模块,用于在将所述命名节点自身设置为主命名节点后,该主命名节点再次基于查询到的多个命名节点的数据库表更新信息确定自身是主命名节点时,确定满足加载元数据信息的条件;
信息加载子模块,用于在满足加载元数据信息的条件的情况下,从存储有元数据信息的数据库中加载元数据信息到所述主命名节点的内存中。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
确定模块,用于在不满足所述主命名节点设置条件时,基于所述多个命名节点的数据库表更新信息,确定所述命名节点的类型;
数据库表更新模块,用于根据所述命名节点的类型,更新所述命名节点的数据库表。
11.根据权利要求10所述的装置,其特征在于,所述数据库表更新模块包括以下子模块中的一个:
第一数据库表更新子模块,用于在所述命名节点的类型为主命名节点时,更新所述命名节点的数据库表中更新时间字段;
第二数据库表更新子模块,用于在所述命名节点的类型为从命名节点时,更新所述命名节点的数据库表中更新时间字段;
第三数据库表更新子模块,用于在所述命名节点的类型为已被替换的主命名节点时,更新所述命名节点的数据库表中的类型字段以及更新时间字段。
12.根据权利要求9所述的装置,其特征在于,所述判断模块包括:
第一确定子模块,用于在所述更新信息中没有主命名节点的更新信息的情况下,确定所述命名节点满足主命名节点的设置条件。
13.根据权利要求9所述的装置,其特征在于,所述设置模块包括:
设置子模块,用于更新所述命名节点的数据库表,将所述命名节点设置为主命名节点。
14.根据权利要求10所述的装置,其特征在于,所述装置还包括:
数据读取模块,用于响应于来自客户端的读数据请求,从存储有元数据信息的数据库中读取相应的数据;
数据返回模块,用于向所述客户端返回所述数据。
15.根据权利要求9-13中任意一项所述的装置,其特征在于,所述装置还包括:
期限锁释放模块,用于在更新所述命名节点的数据库表之后,释放所述数据库期限锁。
16.根据权利要求9所述的装置,其特征在于,所述信息加载模块包括:
信息存入子模块,用于所述主命名节点将元数据信息加载的过程中修改的元数据信息存入修正缓存中;
信息合并子模块,用于在所述元数据信息加载完成时,所述主命名节点将所述修正缓存中的元数据信息合并到所述主命名节点内存已加载的元数据信息中。
17.一种主命名节点设置装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行权利要求1-8中任意一项所述的方法。
18.一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行根据权利要求1-8中任意一项所述的方法。
CN201711047535.4A 2017-10-31 2017-10-31 主命名节点设置方法及装置 Active CN107729539B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711047535.4A CN107729539B (zh) 2017-10-31 2017-10-31 主命名节点设置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711047535.4A CN107729539B (zh) 2017-10-31 2017-10-31 主命名节点设置方法及装置

Publications (2)

Publication Number Publication Date
CN107729539A CN107729539A (zh) 2018-02-23
CN107729539B true CN107729539B (zh) 2020-11-06

Family

ID=61203582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711047535.4A Active CN107729539B (zh) 2017-10-31 2017-10-31 主命名节点设置方法及装置

Country Status (1)

Country Link
CN (1) CN107729539B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130258878A1 (en) * 2012-03-27 2013-10-03 Toyota Infotechnology Center Co., Ltd. Dynamic Data Publication and Dissemination
CN106533738A (zh) * 2016-10-20 2017-03-22 中国民生银行股份有限公司 分布式批处理的方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130258878A1 (en) * 2012-03-27 2013-10-03 Toyota Infotechnology Center Co., Ltd. Dynamic Data Publication and Dissemination
CN106533738A (zh) * 2016-10-20 2017-03-22 中国民生银行股份有限公司 分布式批处理的方法、装置和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"hadoop (master/slave)主从结构";空断;《https://blog.csdn.net/baidu_33517550/article/details/75452061》;20170719;全文 *
"大型网站技术实践初级篇:搭建MySQL主从复制经典架构";EdisonZhou;《https://www.cnblogs.com/edisonchou/p/4133148.html》;20141130;全文 *
"配置master/slave主从数据库";weixin_34064653;《https://blog.csdn.net/weixin_34064653/article/details/92104330》;20151110;第1页 *

Also Published As

Publication number Publication date
CN107729539A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
US11550769B2 (en) Data processing method, apparatus, and system
US10042746B2 (en) Callpath finder
WO2017140131A1 (zh) 数据写入、读取方法及装置、云存储系统
CN106802932B (zh) 一种数据库的路由方法、装置及数据库系统
US10574752B2 (en) Distributed data storage method, apparatus, and system
CN109492053B (zh) 用于访问数据的方法和装置
US8650274B2 (en) Virtual integrated management device for performing information update process for device configuration information management device
CN106155775B (zh) 消息处理方法、设备及系统
CN107193827B (zh) 分库分表的幂等控制方法和装置
CN103377336A (zh) 一种计算机系统用户权限的控制方法和系统
US10616068B2 (en) Identification of networking component application programming interfaces
CN108459913B (zh) 数据并行处理方法、装置及服务器
WO2016191995A1 (zh) 一种分布式数据库中关联表分区的方法和设备
CN104850565A (zh) 一种基于k-v存储系统的元数据管理方法
CN114356921A (zh) 数据处理方法、装置、服务器及存储介质
US10332569B2 (en) System and method for dynamic caching
CN106156126A (zh) 处理数据任务中的数据冲突检测方法及服务器
US10133757B2 (en) Method for managing data using in-memory database and apparatus thereof
CN114090113B (zh) 数据源处理插件动态加载的方法、装置、设备及存储介质
US11294666B1 (en) Data structures for managing configuration versions of cloud-based applications
CN111399999B (zh) 计算机资源处理方法、装置、可读存储介质和计算机设备
US11567808B2 (en) Dependency handling for configuration transport
CN107729539B (zh) 主命名节点设置方法及装置
CN108959548B (zh) 业务请求的处理方法及装置
US9411836B2 (en) Facilitating consistency between a glossary and a repository

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant