HBase 批量加载错误。怎么了?

HBase Bulk Loading Error. What Wrong?

我尝试像下面那样将数据批量加载到 hbase table 中并成功了。

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.bulk.output=/tmp/example_output -Dimporttsv.columns=HBASE_ROW_KEY,cf1:val1,cf1:val2,cf1:val3 so_table /user/uclab/smallbusiness/bulk3/

完成这项工作后,我的表现如下。

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/example_output so_table

但是像下面这样递归地发生了一些错误。

2015-10-12 01:52:42.835 DEBUG [LoadIncrementalHFiles-0]  
mapreduce.LoadIncrementalHFiles: Goint to connect to server 
regiont=so_table,,1444580736986.3c5aa99d4ca4dcb509c8cfb26c2b223f., 
hostname=datanode83,60020,1444578166533, seqNum=2 for row with hfile 
group[{[B@5d37ce06,hdfs://namenode.uclab.com:8020/tmp/example_output/cf1/541f346
80be24932afa54c3fa14e4ad4}]

Caused by: org.apache.hadoop.ipc.RemoteException
(org.apache.hadoop.security.AccessControlException): 
Permission denied: user=hbase, access=WRITE,
inode="/tmp/example_output/cf1":uclab:hdfs:drwxr-xr-x

如何授予写入权限?以及如何解决这个问题...?

我在 Cloudera Quickstart VM 上也遇到过类似的问题。

将所有者更改为 “hbase”HBase 将没有移动文件的权限. 运行 以下命令:

sudo -u hdfs hdfs dfs -chown -R hbase:hbase /tmp/example_output

现在运行

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/example_output so_table