您的位置:首页 > 其它

HBase Bulk Loading时遇到的两个问题

2014-06-13 11:58 681 查看
我采用了先ImportTsv后completebulkload的方式,并且completebulkload时采用了LoadIncrementalHFiles。

1. ImportTsv命令中,需将所有的-D参数顺序排列。

如果在<tablename>和<inputdir>之间加入-Dimporttsv.bulk.output参数,例如:sudo -u hbase hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f1:q1 tab1 -Dimporttsv.bulk.output=/tmp/output /tmp/testdata

会报告如下错误:

WARN security.UserGroupInformation: PriviledgedActionException as:hbase (auth:SIMPLE) cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://****:8020/user/hbase/-D
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://****:8020/user/hbase/-D
如果将-Dimporttsv.bulk.output放在最后,例如:sudo -u hbase hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f1:q1 tab1 /tmp/testdata -Dimporttsv.bulk.output=/tmp/output

虽然不会报错,但是实际不能生成HFile。

正确用法应该如:sudo -u hbase hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f1:q1 -Dimporttsv.bulk.output=/tmp/output tab1 /tmp/testdata

2.执行时,卡死在提示“INFO mapreduce.LoadIncrementalHFiles: Trying to load hfile=hdfs”处

例如执行:hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/output tab1,出现上述卡死现象。查看Region Server日志时,发现提示权限拒绝之类的异常。所以修改命令为:sudo -u hbase hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/output tab1 即可解决此问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: