首页 文章

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

提问于
浏览
0

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

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

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

UPDATE: 我想一次只使用一个选定的Hadoop安装HDFS . 假设有一天我使用Cloudera,其他Hortonworks,但他们都在HDFS中使用相同的数据 .

1 回答

  • 1

    需要注意的是,您需要在不同的计算机上安装这些,因为您无法将多个NameNode绑定到同一个端口8020 .

    说过Cloudera和Horton Works都使用相同的Hadoop二进制文件和相同的配置选项,就像你自己构建它一样 . 不同之处在于它们的每个管理控制台都没有附带基础开源Hadoop版本 . 我的建议是研究配置单个Hadoop组和Userbase,它们都可以访问相同的HDFS NameNodes / DataNodes和Jobtrackers等 . 然后,您应该能够将所有NameNode绑定到同一个HDFS文件系统 . 您还必须设置每个用户的ssh权限 .

    但是有一些限制,例如HDFS仅支持独占写入 . 当第一个客户端联系name-node以打开要写入的文件时,name-node会向客户端授予租约以创建此文件 . 当第二个客户端尝试打开同一个文件进行写入时,name-node将看到该文件的租约已被授予另一个客户端,并将拒绝第二个客户端的打开请求 .

    我还会相应地配置HDFS目录,以保持某种程度的组织 .

    我在VMWare / Ubuntu中使用Hadoop 0.23和2.2.0做到了这一点 .

    最后看看官方Hadoop wiki和FAQ的here .

    祝你好运,Pat

相关问题