在hdfs中创建Oozie sharelib。(Root无法模拟root)

时间:2016-06-14 15:02:30

标签: hadoop hdfs oozie

我正在关注http://hadooptutorial.info/apache-oozie-installation-on-ubuntu-14-04/安装带有hadoop 2.7.2的oozie 4.1.0

构建成功,我可以通过发出此命令来创建oozie战争

hduser@master:~/oozie/oozie-bin$ sudo bin/oozie-setup.sh prepare-war

新的Oozie WAR文件,在/home/hduser/oozie/oozie-bin/oozie-server/webapps/oozie.war

添加了'ExtJS库,JAR'

信息:Oozie已准备好开始

但是当我发出这个crating sharelib的命令时出现错误

hduser@master:~/oozie/oozie-bin$ sudo bin/oozie-setup.sh sharelib create -fs hdfs://master:9000

输出:

setting CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"
log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hduser/oozie/oozie-bin/libtools/slf4j-simple-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hduser/oozie/oozie-bin/libtools/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hduser/oozie/oozie-bin/libext/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
the destination path for sharelib is: /user/root/share/lib/lib_20160614094056

Error: User: root is not allowed to impersonate root

错误的堆栈跟踪(用于调试目的):

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate root
    at org.apache.hadoop.ipc.Client.call(Client.java:1406)
    at org.apache.hadoop.ipc.Client.call(Client.java:1359)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
    at com.sun.proxy.$Proxy7.getFileInfo(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:186)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
    at com.sun.proxy.$Proxy7.getFileInfo(Unknown Source)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:671)
    at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1746)
    at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1112)
    at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1108)
    at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
    at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1108)
    at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1399)
    at org.apache.hadoop.fs.FileUtil.checkDest(FileUtil.java:496)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:348)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338)
    at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1904)
    at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1872)
    at org.apache.oozie.tools.OozieSharelibCLI.run(OozieSharelibCLI.java:165)
    at org.apache.oozie.tools.OozieSharelibCLI.main(OozieSharelibCLI.java:56)

我也重新启动了我的hadoop集群,但没有成功。

这是我的core-site.xml

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

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

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

不要使用sudo来创建sharelib,它会起作用。