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

时间:2015-10-11 16:56:46

标签: hadoop mapreduce hbase

我尝试将数据批量加载到hbase表中,如下所示并成功。

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

我如何给予写入权限?我怎样才能解决这个问题...?

1 个答案:

答案 0 :(得分:2)

我在 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