HBase Bulk Loading时遇到的两个问题

我采用了先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 即可解决此问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值