我注意到以下几行在区域服务器日志中,这会导致复制而不是剪切:
区域服务器日志
文件 hdfs://master.mydomain/user/cluster/mbe/output/fam/8a6f322894784c9c9802e5b295025ee0 在与目标存储不同的文件系统上 - 移动到此文件系统。Copied to temporary path on dst filesystem: hdfs://master.mydomain:8020/hbase/MBE/fd9eab14bf12d1b44ea77aa3d1fc1b31/.tmp/d63966b6d5fa487f88426552d1ca43f4 Moved hfile hdfs://master.mydomain:8020/hbase/MBE/fd9eab14bf12d1b44ea77aa3d1fc1b31/.tmp/d63966b6d5fa487f88426552d1ca43f4进入存储目录 hdfs://master.mydomain:8020/hbase/MBE/fd9eab14bf12d1b44ea77aa3d1fc1b31/fam - 更新存储文件列表。
解决方案
这表明源和目标存储文件位于不同的文件系统上,但它们都位于同一个 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/输出 MBE”,问题就解决了。
使用带有端口号的绝对寻址而不是相对寻址解决了这个问题。
有关更多详细信息,请参阅https://issues.apache.org/jira/browse/HBASE-9537