5
votes

Hi i am new to Oozie and i am getting this error E0902: Exception occured: [User: pramod is not allowed to impersonate pramod] when i run the following command

   ./oozie job -oozie htt p://localhost:11000/oozie/ -config ~/Desktop/map-reduce  /job.properties -run.

My hadoop version is 1.0.3 and oozie version is 3.3.2 and running in a pseudo mode

The following is the content of my core-site.xml

<configuration>

<property>
<name>hadoop.tmp.dir</name>
<value>/home/pramod/hadoop-${user.name}</value>
</property>

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
</property>

<property>



<name>hadoop.proxyuser.${user.name}.hosts</name>                                               
        <value>*</value>
</property>

<property>
        <name>hadoop.proxyuser.${user.name}.groups</name>
        <value>*</value>
</property>

</configuration>

Can somebody help

3
Is that a typo in your post, or are the dollar symbols inside the curly braces for real in your core-site.xml? Also you're missing a period after proxyuser for the first entry - confirm your file contents and it would be best to paste verbatim from your core-site.xml into your original questionChris White
Hi Chris,I have added my core-site.xml contents in the questionPramod

3 Answers

3
votes

Hadoop 1.0.x does not support wildcards. http://mail-archives.apache.org/mod_mbox/oozie-user/201212.mbox/%3CCAOcnVr1TZZ5X0Mrb7fFA8JdW6rO6PgoJ9u0=2UYbfXf_o8r=DA@mail.gmail.com%3E

So try

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

<property>
    <name>hadoop.proxyuser.oozie.groups</name>
    <value>oozie,pramod</value>
</property>
1
votes

One thing missed in the discussion above:

In core-site.xml you need to use the user with which oozie is started, as in the user that invoked the command "bin/oozied.sh start". For example: if you have "hadoop.proxyuser.bob.hosts" along with hadoop.proxyuser.bob.groups, then the user 'bob' would be required to start oozie using "bin/oozied.sh start".

0
votes

I don't think you can use variables in the key name - you'll need to hardcode the user name rather than ${user.name}.

I assume you have an oozie user (which the oozie server is run as), so basically you want to configure as follows to allow the oozie user to impersonate anyone from any host:

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

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

Make sure you restart your HDFS / MAPREDUCE services for this to take affect