Oozie on YARN - oozie is not allowed to impersonate hadoop

2.7k views Asked by At

I'm trying to use Oozie from Java to start a job on a Hadoop cluster. I have very limited experience with Oozie on Hadoop 1 and now I'm struggling trying out the same thing on YARN.

I'm given a machine that doesn't belong to the cluster, so when I try to start my job I get the following exception:

E0501 : E0501: Could not perform authorization operation, User: oozie is not allowed to impersonate hadoop

Why is that and what to do?

I read a bit about core-site properties that need to be set

<property>
  <name>hadoop.proxyuser.oozie.groups</name>
  <value>users</value>
</property>

<property>
  <name>hadoop.proxyuser.oozie.hosts</name>
  <value>master</value>
</property>

Does it seem that this is the problem? Should I contact people responsible for cluster to fix that?

Could there be problems because I'm using same code for YARN as I did for Hadoop 1? Should something be changed? For example, I'm setting nameNode and jobTracker in workflow.xml, should jobTracker exist, since there is now ResourceManager? I have set the address of ResourceManager, but left the property name as jobTracker, could that be the error?

Maybe I should also mention that Ambari is used...

2

There are 2 answers

4
karthik On BEST ANSWER

Hi please update the core-site.xml

<property>
  <name>hadoop.proxyuser.hadoop.groups</name>
  <value>*</value>
</property>

<property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
</property>

and jobTracker address is the Resourcemananger address that will not be the case . once update the core-site.xml file it will works.

0
Rakib On

Reason: Cause of this type of error is- You run oozie server as a hadoop user but you define oozie as a proxy user in core-site.xml file.

Solution:

change the ownership of oozie installation directory to oozie user and run oozie server as a oozie user and problem will be solved.