【问题标题】:HBase Bulk Loading Error. What Wrong?HBase 批量加载错误。怎么了?
【发布时间】:2015-10-11 16:56:46
【问题描述】:

我尝试像下面这样将数据批量加载到 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

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

【问题讨论】:

    标签: hadoop mapreduce hbase


    【解决方案1】:

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

    【讨论】:

    • 在此之后我得到 ** mapreduce.LoadIncrementalHFiles:批量加载操作在目录 /user/cloudera/workspace/mmm/output 中找不到要加载的任何文件。它是否包含与列族名称相对应的子目录中的文件? ** 带有批量加载选项的 importtsv 工具在输出文件夹中创建了子目录。子目录与列名具有相同的名称,并且这些子目录包含文件。怎么了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多