【问题标题】:completebulkload does 'copy' StoreFiles instead of 'cut'completebulkload 会“复制”StoreFiles 而不是“剪切”
【发布时间】:2013-09-15 07:26:19
【问题描述】:

我使用 HBase 完整批量加载将 ImportTsv 的输出传输到 HBase 中的表,我注意到它复制输出而不是剪切。我的千兆字节数据需要很长时间。

在 HBase 文档 (http://hbase.apache.org/book/ops_mgt.html#completebulkload) 中,我读到文件将被移动而不是复制。谁能帮我解决这个问题?

我使用 Hbase 0.94.11 和 Hadoop 1.2.1。 bulkload的文件系统 输出目录和 hbase 集群也是一样的。

我还使用 HFileOutputFormat 编写了 MapReduce 作业。当我使用 LoadIncrementalHFiles 将作业的输出移动到 HBase 表时,它仍然是复制而不是剪切。

亲切的问候

【问题讨论】:

    标签: hadoop mapreduce hbase hdfs


    【解决方案1】:

    我注意到 Region server 日志中有以下几行,这导致复制而不是剪切:

    区域服务器日志

    文件 hdfs://master.mydomain/user/cluster/mbe/output/fam/8a6f322894784c9c9802e5b295025ee0 在与目标存储不同的文件系统上 - 移动到此文件系统。 复制到 dst 文件系统上的临时路径:hdfs://master.mydomain:8020/hbase/MBE/fd9eab14bf12d1b44ea77aa3d1fc1b31/.tmp/d63966b6d5fa487f88426552d1ca43f4 感动HFILE HDFS://master.mydomain:8020 / HBase的/ MBE / fd9eab14bf12d1b44ea77aa3d1fc1b31 / .TMP / d63966b6d5fa487f88426552d1ca43f4到存储目录HDFS://master.mydomain:8020 / HBase的/ MBE / fd9eab14bf12d1b44ea77aa3d1fc1b31 / FAM - 更新存储文件列表。 p>

    解决方案

    这表明源和目标存储文件在不同的文件系统上,但它们都在同一个 HDFS 上。

    当我使用“hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles hdfs://master.mydomain:8020/user/cluster/mbe/output MBE”而不是“hbase org.apache.hadoop.hbase. mapreduce.LoadIncrementalHFiles mbe/output MBE”,问题已解决。

    使用带有端口号的绝对寻址而不是相对寻址解决了这个问题。

    更多详情,请参考https://issues.apache.org/jira/browse/HBASE-9537

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-29
      • 2022-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多