对于两个或多个Hadoop安装,可以重用HDFS存储吗?换句话说,复制NameNode状态。
我想构建一个小型的Hadoop集群(3到5个节点),我希望能够使用几个Hadoop发行版(至少Hortonworks和Cloudera )。我还没有决定如何同时安装它们,这似乎也是一个挑战,但目前我想决定--是否可以将存储在HDFS中的数据重用到不同的集群(物理上使用相同的硬盘)?
为了简单起见,如果它能用于Hadoop发行版的任何组合,我会很高兴的,而且我已经准备好在某个时候丢失数据,因为这只是一个实验。
更新:,我想一次只对一个选定的安装使用HDFS。假设有一天我使用Cloudera,另一个Hortonworks,但它们在HDFS中都使用相同的数据。
发布于 2014-04-14 22:46:41
请注意,由于无法将多个NameNodes绑定到同一个端口8020,因此需要在单独的计算机上安装这些端口。
话虽如此,Cloudera和Horton都使用相同的Hadoop二进制文件和配置选项,就像您自己构建它一样。不同之处在于,它们的每个管理控制台都没有提供基本的开源Hadoop版本。我的建议是考虑配置单个Hadoop组和用户名,它们都可以访问相同的HDFS、NameNodes / DataNodes和Jobtracker等等。然后,您应该能够将所有NameNodes绑定到同一个HDFS文件系统。您还必须设置每个用户ssh权限。
但是也有一些限制,例如HDFS只支持独占写入。当第一个客户端联系名称节点以打开用于写入的文件时,名称节点授予客户端创建此文件的租约。当第二个客户端尝试打开同一个文件以便写入时,名称节点将看到该文件的租约已被授予另一个客户端,并将拒绝第二个客户端的打开请求。
我还将相应地配置HDFS dirs,以保留一定级别的组织。
我只是在VMWare / Ubuntu中使用Hadoop0.23和2.2.0实现了这一点。
最后,看看官方Hadoop和FAQ的这里。
祝你好运,帕特
https://stackoverflow.com/questions/23060713
复制相似问题