Question

I am trying to follow the steps given at http://www.rohitmenon.com/index.php/apache-oozie-installation/ Note: I am not using cloudera distibution of hadoop

The above link is similar to http://oozie.apache.org/docs/4.0.1/DG_QuickStart.html but with more descriptive seems to me however while running the below command as a root user i am getting exception ./bin/oozie-setup.sh sharelib create -fs

Note: i have two live node shown at dfshealth.jsp . and i have updated the core-site.xml for all three(including namenode) with property as below

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

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

i understand this is point where i am making mistake Could someone please guide me

Stacktrace
    org.apache.oozie.service.HadoopAccessorException: E0902: Exception occured: [User: root is not allowed to impersonate root]
            at 

    org.apache.oozie.service.HadoopAccessorService.createFileSystem(HadoopAccessorService.java:430)
                at org.apache.oozie.tools.OozieSharelibCLI.run(OozieSharelibCLI.java:144)
                at org.apache.oozie.tools.OozieSharelibCLI.main(OozieSharelibCLI.java:52)
        Caused by: org.apache.hadoop.ipc.RemoteException: User: root is not allowed to impersonate root
                at org.apache.hadoop.ipc.Client.call(Client.java:1107)
                at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229)
                at com.sun.proxy.$Proxy5.getProtocolVersion(Unknown Source)
                at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:411)
                at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:135)
                at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:276)
                at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:241)
                at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:100)
                at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1411)
                at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66)
                at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1429)
                at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:254)
                at org.apache.oozie.service.HadoopAccessorService$2.run(HadoopAccessorService.java:422)
                at org.apache.oozie.service.HadoopAccessorService$2.run(HadoopAccessorService.java:420)
                at java.security.AccessController.doPrivileged(Native Method)
                at javax.security.auth.Subject.doAs(Subject.java:396)
                at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1136)
                at org.apache.oozie.service.HadoopAccessorService.createFileSystem(HadoopAccessorService.java:420)
                ... 2 more
        --------------------------------------

Note: Getting E0902: Exception occured: [User: oozie is not allowed to impersonate oozie] i have followed this link as well but not able to solve my problem

if i change the core-site.xml as below only for NameNode

<property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>[NAMENODE IP]</value>
    </property>
<property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>hadoop</value>
</property> 

I get the exception as Unauthorized connection for super-user: hadoop

Was it helpful?

Solution

After adding the property files into core-site.xml restart your hadoop and try. Even though if it not works format the namenode and start hadoop it will work.

OTHER TIPS

You need to add these properties in core-site.xml for impersonation in order to solve your whitelist error

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

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

Hope this fixes your issue.

Follow the advice in the article below. Hadoop before 1.1.0 doesn't support wildcard so you have to explicitly specified the hosts and the groups

http://mail-archives.apache.org/mod_mbox/oozie-user/201212.mbox/%3CCAOcnVr1TZZ5X0Mrb7fFA8JdW6rO6PgoJ9u0=2UYbfXf_o8r=DA@mail.gmail.com%3E

I solved the problem by adding those lines in the core-site.xml-file

hadoop.proxyuser.root.hosts
value = *

hadoop.proxyuser.root.groups
value = *

and it works perfectly all my databases and tables are shown.

./oozie-setup.sh sharelib create -fs hdfs://localhost:9000

try to run this command using sudo.

check for hdfs if this path already exits i.e., /user/user_name/share/lib, if it exists remove it using

hadoop fs -rmr /user/user_name

After that run sudo ./oozied.sh. oozie will be started. Then check for your localhost:11000.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top