2016-06-14 2 views
1

Я следую http://hadooptutorial.info/apache-oozie-installation-on-ubuntu-14-04/ для установки oozie 4.1.0 с Hadoop 2.7.2Oozie sharelib создание в HDFS. (Root не сможет подменить корень)

Построить успешно и я могу в состоянии создать oozie войны путем выпуска эта команда

[email protected]:~/oozie/oozie-bin$ sudo bin/oozie-setup.sh prepare-war 

Новый Oozie WAR файл с добавлением 'ExtJS библиотеки, баночки' в /home/hduser/oozie/oozie-bin/oozie-server/webapps/oozie.war

INFO: Oozie является готово к запуску

Но когда я выпустить эту команду для клетей sharelib получил ошибку

[email protected]:~/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) 

Кроме того, я перезапустил свой кластер приложений, но не успел.

вот мой ядро-site.xml

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

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

Может кто-нибудь помочь?

+1

Если вы добавили 'hduser' в файл core-site.xml, вы должны попробовать с пользователем' hduser' не 'root'. – YoungHobbit

ответ

1

Не используйте sudo для создания sharelib, и он будет работать.

Смежные вопросы