Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop HDFS联合会_Hadoop_Hdfs_Hadoop2_Federation - Fatal编程技术网

Hadoop HDFS联合会

Hadoop HDFS联合会,hadoop,hdfs,hadoop2,federation,Hadoop,Hdfs,Hadoop2,Federation,关于HDFS联合会,我有几个基本问题 是否可以从集群联合中的另一个名称节点读取在一个名称节点上创建的文件 当前版本的Hadoop是否支持此功能?否。不可能做到这一点。否。不可能做到这一点。可以通过扩展BlockPlacementPolicy接口并将类指向Hadoop配置文件中的dfs.block.replicator.classname属性 请研究BlockPlacementPolicy以获得更好的图片 实际上,您可以修改块在集群中的放置位置。可以通过扩展BlockPlacementPolicy

关于HDFS联合会,我有几个基本问题

是否可以从集群联合中的另一个名称节点读取在一个名称节点上创建的文件


当前版本的Hadoop是否支持此功能?

否。不可能做到这一点。

否。不可能做到这一点。

可以通过扩展BlockPlacementPolicy接口并将类指向Hadoop配置文件中的dfs.block.replicator.classname属性

请研究BlockPlacementPolicy以获得更好的图片


实际上,您可以修改块在集群中的放置位置。

可以通过扩展BlockPlacementPolicy接口并将类指向hadoop配置中的dfs.block.replicator.classname属性来修改hadoop中块复制策略的默认行为档案

请研究BlockPlacementPolicy以获得更好的图片


实际上,您可以修改块在集群中的放置位置。

让我解释一下名称节点联合是如何按照

NameNode:

为了水平扩展名称服务,联合使用多个独立的名称节点/名称空间

Namenodes是联合的;Namenodes是独立的,不需要相互协调

Datanodes被所有Namenodes用作块的公共存储。每个Datanode向集群中的所有Namenodes注册。数据节点定期发送心跳和块报告。它们还处理来自Namenodes的命令

总之,

名称节点是互斥的,它们之间不需要通信。数据节点可以跨多个名称节点共享

要回答您的问题,这是不可能的。如果数据写入一个名称节点,您只需联系该名称节点即可获取数据。您不能询问其他节点的名称

关于您对数据复制的最新评论

当复制系数为3时,HDFS的放置策略是将一个复制副本放在本地机架的一个节点上,另一个放在本地机架的另一个节点上,最后一个放在不同机架的另一个节点上

如果本地RAC出现故障,您可以使用此功能从其他数据中心获取数据。但请注意,您正在从一个联邦Namenode读取数据,而不是从另一个联邦Namenode读取数据

一个联合Namenode无法从其他联合Namenode读取数据。但它们可以为读写操作共享同一组数据节点

编辑:

在每个联合体中,您可以对Namenode进行自动故障切换。如果活动的NameNode在联合中失败,备用的NameNode将接管活动的NameNode职责

有关更多详细信息,请参阅下面的SE帖子


让我解释一下名称节点联合是如何按照

NameNode:

为了水平扩展名称服务,联合使用多个独立的名称节点/名称空间

Namenodes是联合的;Namenodes是独立的,不需要相互协调

Datanodes被所有Namenodes用作块的公共存储。每个Datanode向集群中的所有Namenodes注册。数据节点定期发送心跳和块报告。它们还处理来自Namenodes的命令

总之,

名称节点是互斥的,它们之间不需要通信。数据节点可以跨多个名称节点共享

要回答您的问题,这是不可能的。如果数据写入一个名称节点,您只需联系该名称节点即可获取数据。您不能询问其他节点的名称

关于您对数据复制的最新评论

当复制系数为3时,HDFS的放置策略是将一个复制副本放在本地机架的一个节点上,另一个放在本地机架的另一个节点上,最后一个放在不同机架的另一个节点上

如果本地RAC出现故障,您可以使用此功能从其他数据中心获取数据。但请注意,您正在从一个联邦Namenode读取数据,而不是从另一个联邦Namenode读取数据

一个联合Namenode无法从其他联合Namenode读取数据。但它们可以为读写操作共享同一组数据节点

编辑:

在每个联合体中,您可以对Namenode进行自动故障切换。如果活动的NameNode在联合中失败,备用的NameNode将接管活动的NameNode职责

有关更多详细信息,请参阅下面的SE帖子


这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-他问这是否可能。我说不是。请复习以下问题:)谢谢你的回复。我有以下要求,你能建议它是否与Hadoop(HDFS)和如何可行。1) 我们在两个不同的位置有两个名为DCE和DCW的数据中心。我们的要求是,连接到其中一个数据中心的用户,无论是DCE还是DCW,都应该能够访问存在于另一个相反数据中心中的数据。2) 我们应该能够检索其中一个数据中心中存在的数据,以防该数据中心出现故障。我的基本要求是如何在两个数据中心复制HDFS数据。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-他问这是否可能。我