amazon-ec2 - 将新卷添加到伪分布式 Hadoop 节点无提示失败

标签 amazon-ec2 hadoop hive

我试图通过在 hdfs-site.xml 中的 dfs.name.dir 中添加卷的位置来向 Hadoop 伪分布式节点添加新卷>,我可以在这个位置看到锁定文件 - 但尽我所能尝试,似乎当我加载文件(使用配置单元)时,这些位置几乎没有被使用(即使锁定文件和一些子文件夹出现..所以 Hadoop 显然可以访问它们)。当主卷即将用完空间时,我会收到以下异常:

Failed with exception java.io.IOException: File /tmp/hive-ubuntu/hive_2011-02-24_15-39-15_997_1889807000233475717/-ext-10000/test.csv could only be replicated to 0 nodes, instead of 1
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:643)

关于如何向 Hadoop 添加新卷的任何指示? FWIW 我正在使用 EC2。

最佳答案

根据 FAQ,您可以做几件事:

  1. 手动将 HDFS 中的文件复制到新名称,删除旧文件,然后将新文件重命名为原来的名称。
  2. 暂时增加复制因子,一旦 block 在节点之间达到平衡,就将其调回。
  3. 删除完整节点,等待其 block 复制到其他节点,然后将其重新启动。这并没有多大帮助,因为当您将其重新联机时,您的完整节点仍然已满。
  4. 在头节点上运行重新平衡器脚本。

我会尝试先运行#4,然后运行#2。

关于amazon-ec2 - 将新卷添加到伪分布式 Hadoop 节点无提示失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5107567/

相关文章:

amazon-web-services - 使用 ec2 标签在 ansible 上创建 Metric 警报

hadoop单节点设置

配置单元中的 java.sql.SQLException : org. apache.thrift.transport.TTransportException?

hadoop - HBase hive 集成

select - hive 多个查询不起作用

php - 如何将我的网站、mySQL、php 页面、文件、设置等迁移到 Amazon EC2?

php - 检查远程linux服务器是否正在运行?

django - apache的权限问题

hadoop - Pig 用户定义的函数不理解什么是 eval function()

hadoop - 为什么 HBase 是比使用 Hadoop 的 Cassandra 更好的选择?