Created on 11-30-2015 02:48 AM - edited 11-30-2015 02:52 AM
Hi everyone,
Here is my problem:
Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.security.AccessDeniedException): org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=oozie/XXXXXXX, scope=default, params=[namespace=default,table=default:XX_XX.,family=v],action=CREATE)
And here is my workflow.xml:
<workflow-app name="HBASE_TEST" xmlns="uri:oozie:workflow:0.5">
<global>
<job-xml>${hbase_site}</job-xml>
</global>
<credentials>
<credential name="hbase" type="hbase">
</credential>
</credentials>
<start to="java-2e83"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="java-2e83" cred="hbase">
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<main-class>test.beginTest</main-class>
<arg>${hdfs_home}</arg>
<arg>${zookeeper}</arg>
<file>${hbase_site}#${hbase_site}</file>
</java>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
</workflow-app>
Curent user in hue is not oozie. And this user can explore Hbase using hbase app. Also it can select any information from Hbase using hive. (current user has all privileges in Hbase).
So, how can I make oozie to use current user to access HBase from java application?
P.S. Hue - 3.7.0, HBase - 1.0.0 and CDH is 5.4.7.
Regards,
Andrey