往Phoenix表中批量导数出现的错误, 命令:
hadoop jar phoenix-4.14.0-cdh5.11.2-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool --table my_table --input hdfs_dir --delimiter '分隔符'
错误详情:
18/10/12 09:29:15 INFO client.RpcRetryingCaller: Call exception, tries=10, retries=35, started=68303 ms ago, cancelled=false, msg=row '' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=a2502f09,60020,1538186605092, seqNum=0
18/10/12 09:29:35 INFO client.RpcRetryingCaller: Call exception, tries=11, retries=35, started=88318 ms ago, cancelled=false, msg=row '' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=a2502f09,60020,1538186605092, seqNum=0
...
18/10/12 09:37:18 INFO client.RpcRetryingCaller: Call exception, tries=34, retries=35, started=551111 ms ago, cancelled=false, msg=row '' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=a2502f09,60020,1538186605092, seqNum=0
18/10/12 09:37:18 WARN security.UserGroupInformation: PriviledgedActionException as:userName@HADOOP.TEST (auth:KERBEROS) cause:org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=35, exceptions:
Fri Oct 12 09:28:07 CST 2018, RpcRetryingCaller{globalStartTime=1539307687025, pause=100, retries=35}, org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.security.AccessDeniedException): org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=userName@HADOOP.TEST, scope=hbase:meta, params=[table=hbase:meta],action=EXEC)
......
Fri Oct 12 09:28:07 CST 2018, RpcRetryingCaller{globalStartTime=1539307687025, pause=100, retries=35}, org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.security.AccessDeniedException): org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=userName@HADOOP.TEST, scope=hbase:meta, params=[table=hbase:meta],action=EXEC)
......
看到了错误, 一目了然, 当前用户没有对hbase:meta表的执行权限,
只需要管理员执行:
grant 'userName', 'X', 'hbase:meta'
给了权限, 就没问题了.
这里面问题的关键就是要等10分钟, 重试10分钟之后才会报错, 需要耐心一点.