错误:e0902:发生异常:[用户:不允许root模拟root

3z6pesqy  于 2021-06-04  发布在  Hadoop
关注(0)|答案(5)|浏览(328)

我正试着按照上节所给的步骤做http://www.rohitmenon.com/index.php/apache-oozie-installation/ 注意:我没有使用hadoop的cloudera分布
上面的链接类似于http://oozie.apache.org/docs/4.0.1/dg_quickstart.html 但是,在我看来,当以root用户身份运行下面的命令时,我遇到了一个异常。/bin/oozie-setup.sh sharelib create-fs
注意:dfshealth.jsp上显示了两个活动节点。我已经更新了所有三个(包括namenode)的core-site.xml,属性如下

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

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

我明白这是我犯错误的地方,有人能给我指点迷津吗

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
        --------------------------------------

注意:获取e0902:发生异常:[用户:不允许oozie模拟oozie]我也遵循了此链接,但无法解决问题

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>

我得到的异常是超级用户hadoop的未授权连接

oymdgrw7

oymdgrw71#

将属性文件添加到core-site.xml后,重新启动hadoop并重试。即使它不能工作格式化namenode并启动hadoop,它也能工作。

xxslljrj

xxslljrj2#

我把这些行加到 core-site.xml -文件

hadoop.proxyuser.root.hosts
value = *

hadoop.proxyuser.root.groups
value = *

它工作得很好,我所有的数据库和表都显示出来了。

o4tp2gmn

o4tp2gmn3#

遵循下面文章中的建议。hadoop 1.1.0之前的版本不支持通配符,因此必须显式指定主机和组
http://mail-archives.apache.org/mod_mbox/oozie-user/201212.mbox/%3ccaocnvr1tzz5x0mrb7ffa8jdw6ro6pgoj9u0=2uybfxf_o8r=da@mail.gmail.com%3e

ca1c2owp

ca1c2owp4#

为了解决白名单错误,您需要在core-site.xml中添加这些属性进行模拟

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

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

希望这能解决你的问题。

ryevplcw

ryevplcw5#

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

尝试使用sudo运行此命令。
如果此路径已经存在,请检查hdfs,即。, /user/user_name/share/lib ,如果存在,请使用

hadoop fs -rmr /user/user_name

在那次跑步之后 sudo ./oozied.sh . oozie将启动。然后检查你的 localhost:11000 .

相关问题