【发布时间】:2015-12-28 19:36:34
【问题描述】:
我正在为我的 5 节点 hadoop 集群使用 VM(1VM 有 Name Node,1VM 有 JobTracker/SecondaryNameNode/HMaster,三个 VM 有 DataNodes/TaskTrackers/HRegionServers/Zookeepers),它属于 Cloudera 发行版,我手动安装,而不是通过 Cloudera Manager。
编辑 - 每个包含 DataNode 的 VM 的磁盘空间大约已满 50-60%。我很高兴能在明天早上之前完成这项工作,但我可以在 24 小时内逃脱。
我必须返回其中一个 VM(特别是一个特定的 DataNode)并用另一个替换它(不要问为什么)。我购买了第二台虚拟机,可以随时开始安装。
这是我目前的策略:
- rsync DataNode 的数据目录到新节点,以及 zookeeper 的数据目录。
- rsync 所有配置文件(core-site.xml、hdfs-site.xml、mapred-site.xml、hbase-site.xml、zoo.cfg)
- 在 Stack Overflow 上提出这个问题
为什么是第三? NameNode 保存了存储在 HDFS 上的所有文件的所有块的位置的元数据。 HBase 元表指向具有 HFiles 数据的 RegionServers。 DataNode 上 Zookeeper 服务器的数据也是必不可少的。
如何指示 NameNode 和 HBase/Zookeeper 指向新采购的 VM 上的数据?还有什么我没有考虑的?
现在这实际上是一个开发环境,我可以使用 Pig 导出 HDFS 数据和 HBase 数据,清除所有 DataNode 和 Zookeeper 的数据目录,然后使用 Pig 导入数据。除了跛脚之外,我相信这对我来说是一个很好的锻炼。
【问题讨论】:
标签: hadoop hbase hdfs apache-zookeeper sysadmin