2017-02-13 27 views
0

我試圖從TAC運行我的第一個Talend作業。 我正在嘗試從標準作業調用大數據批處理。 它從本地羣集運行良好,但從TAC運行相同的作業時,我正面臨着這個錯誤。java.io.IOException:登錄失敗:No爲hadoop_simple配置的LoginModules

moment;pid;root_pid;father_pid;project;job;context;priority;type;origin;message;code 
2017-02-13 07:54:29;20170213075427_jnxLB;20170213075427_jnxLB;20170213075427_jnxLB;ELT_3_0;CustomerDataLoad;hadoop;6;Java Exception;tRunJob_2;java.lang.RuntimeException:Child job returns 1. It doesn't terminate normally. 
java.io.IOException: failure to login: No LoginModules configured for hadoop_simple 
    at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:724) 
    at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:676) 
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:560) 
    at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2784) 
    at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2776) 
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2642) 
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:404) 
    at org.apache.hadoop.fs.FileSystem.getLocal(FileSystem.java:375) 
    at org.apache.hadoop.util.GenericOptionsParser.validateFiles(GenericOptionsParser.java:392) 
    at org.apache.hadoop.util.GenericOptionsParser.processGeneralOptions(GenericOptionsParser.java:288) 
    at org.apache.hadoop.util.GenericOptionsParser.parseGeneralOptions(GenericOptionsParser.java:479) 
    at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:170) 
    at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:153) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:64) 
    at elt_3_0.hbase_customertable_0_1.Hbase_customertable.runJobInTOS(Hbase_customertable.java:38664) 
    at elt_3_0.hbase_customertable_0_1.Hbase_customertable.main(Hbase_customertable.java:38642) 
Caused by: javax.security.auth.login.LoginException: No LoginModules configured for hadoop_simple 
    at javax.security.auth.login.LoginContext.init(LoginContext.java:272) 
    at javax.security.auth.login.LoginContext.<init>(LoginContext.java:389) 
    at org.apache.hadoop.security.UserGroupInformation.newLoginContext(UserGroupInformation.java:450) 
    at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:696) 
    ... 15 more 

我是否缺少任何依賴關係? 任何幫助,可以讚賞。

+1

因爲Talend建立在開源的基礎上,一些問題是基於底層技術的。這裏是Talend世界之外的一個帖子,有人解決了同樣的問題。我希望它可以幫助https://community.mapr.com/thread/9240 –

+0

我已經看到這個鏈接,@ELaRoche –

+1

好吧,問題是這個問題本身可能不是Talend相關的,所以你可能有更好的運氣解決方案它通過搜索底層技術,與特定的Talend進行比較。 –

回答

1

通過在JVM道具中添加屬性「-Djava.security.auth.login.config」解決了它, 並將屬性指向/opt/mapr/conf/mapr.login.conf。 所以,在mapr.login.conf有Hadoop的登錄類

/** 
* simple login, just get OS creds 
*/ 
hadoop_simple { 
    org.apache.hadoop.security.login.GenericOSLoginModule required; 
    org.apache.hadoop.security.login.HadoopLoginModule required; 
}; 

,使用戶提交申請,這是所有正確的模塊服務器。