通过几个Hadoop安装重用HDFS存储

通过几个Hadoop安装重用HDFS存储,hadoop,hdfs,Hadoop,Hdfs,对于两个或多个Hadoop安装,是否可以重用HDFS存储?或者换句话说,复制NameNode状态 我想构建一个小型showcase Hadoop集群(3-5个节点),并且我希望能够使用多个Hadoop发行版(至少是Hortonworks和Cloudera)。我还没有决定如何同时安装它们,这似乎也是一个挑战,但目前我想决定——是否可以将存储在HDFS中的数据重新用于不同的集群(物理上使用相同的硬盘) 为了简单起见,如果它适用于Hadoop发行版的任何组合,我会很高兴,而且我准备在某个时候丢失我的数

对于两个或多个Hadoop安装,是否可以重用HDFS存储?或者换句话说,复制NameNode状态

我想构建一个小型showcase Hadoop集群(3-5个节点),并且我希望能够使用多个Hadoop发行版(至少是Hortonworks和Cloudera)。我还没有决定如何同时安装它们,这似乎也是一个挑战,但目前我想决定——是否可以将存储在HDFS中的数据重新用于不同的集群(物理上使用相同的硬盘)

为了简单起见,如果它适用于Hadoop发行版的任何组合,我会很高兴,而且我准备在某个时候丢失我的数据,因为这只是一个实验


更新:我想一次只在一个选定的Hadoop安装中使用HDFS。假设有一天我使用Cloudera,另一个Hortonworks,但它们在HDFS中使用相同的数据

需要注意的一点是,您需要在不同的机器上安装这些节点,因为您无法将多个NameNodes绑定到同一端口8020

已经说过,Cloudera和Horton Works都使用相同的Hadoop二进制文件和相同的配置选项,就像您自己构建一样。不同之处在于它们的每个管理控制台都没有基本的开源Hadoop版本。我的建议是考虑配置一个Hadoop组和用户库,使它们都可以访问相同的HDFS名称节点/数据节点和作业跟踪器等。。然后,您应该能够将所有NameNodes绑定到同一个HDFS文件系统。您还必须设置每个用户的ssh权限

但也有一些限制,例如HDFS仅支持独占写入。当第一个客户端与名称节点联系以打开文件进行写入时,名称节点将向客户端授予创建此文件的租约。当第二个客户端尝试打开同一个文件进行写入时,名称节点将看到该文件的租约已授予另一个客户端,并将拒绝第二个客户端的打开请求

我还将相应地配置HDFS目录,以保留一定级别的组织

我在VMWare/Ubuntu中使用Hadoop 0.23和2.2.0实现了这一点

最后看看官方的Hadoop wiki和常见问题解答

祝你好运,
帕特

这听起来麻烦多了,不值得我同意,这就是为什么我这么问的原因。如果有一个合理的解决方案,希望有人能给我一个提示,否则就没有答案了。嗨,帕特!谢谢你的提示。从我的描述中不清楚,我不想同时访问HDFS,我将只在一个Hadoop安装中使用它。假设有一天我使用了Cloudera,另一个Hortonworks,但它们使用的是来自HDFS的相同数据。我想在这种情况下,NameNode和独占写入不是问题。