首先说下出现这个错误的环境配置吧:aix小型机安装tomcat,(配有ibm专有的jdk,1.6),hadoop(1.0.4)集群,linux:redhat,jdk是oracle的1.6。出现上面的错误信息;上网查了下,发现也有相同的错误出现:http://mail-archives.apache.org/mod_mbox/hadoop-user/201208.mbox/%3COF2E935E40.56BFE6E6-ON85257A64.004BB391-85257A64.004BF20E@us.ibm.com%3E,上面说是大概意思是IBM的jdk有特殊的LoginModules,可能和hadoop的不匹配,可以看到下面的

UserGroupInformation.java中的源代码:
 private static String getOSLoginModuleName() {262     if (System.getProperty("java.vendor").contains("IBM")) {263       return windows ? "com.ibm.security.auth.module.NTLoginModule"264        : "com.ibm.security.auth.module.LinuxLoginModule";    265     } else {266       return windows ? "com.sun.security.auth.module.NTLoginModule"267         : "com.sun.security.auth.module.UnixLoginModule";268     }269   }270 
private static Class<? extends Principal> getOsPrincipalClass() {274     ClassLoader cl = ClassLoader.getSystemClassLoader();275     try {276       if (System.getProperty("java.vendor").contains("IBM")) {277         if (windows) {278           return (Class<? extends Principal>)279             cl.loadClass("com.ibm.security.auth.UsernamePrincipal");280         } else {281           return (Class<? extends Principal>)282             (System.getProperty("os.arch").contains("64")283              ? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")284              : cl.loadClass("com.ibm.security.auth.LinuxPrincipal"));285         }286       } else {287         return (Class<? extends Principal>) (windows288            ? cl.loadClass("com.sun.security.auth.NTUserPrincipal")289            : cl.loadClass("com.sun.security.auth.UnixPrincipal"));290       }291     } catch (ClassNotFoundException e) {292       LOG.error("Unable to find JAAS classes:" + e.getMessage());293     }294     return null;295   }

上面红色字体的部分在ibm的jdk里面并没有发现,所以直接报错说那个LinuxLoginModule找不到,那么怎么办呢?可以考虑下把这两个类替换掉:
在ibm jdk的api中:

可以看到这两个类:


直接用上面的两个类去替换前面红色部分的类就可以了。

替换完成之后要怎么做呢?

1.使用linux系统,在eclipse的java工程中导入hadoop的所有包,并把上面的文件放入src下面,直接保存;

2. 打开bin下面的文件,查找到 UserLoginInformation开头的类,使用linux系统的工具把hadoop-core-1.0.4.jar里面相应的类替换掉;

3. 把hadoop集群所有的hadoop-core-1.0.4.jar用上面得到的替换掉;

做完上面的,基本应该就ok了,这样再测试一下,看是否ok。

最后,声明一下,这个还没有经过博主测试,只是一个想法。

分享,快乐,成长

转载请注明出处:http://blog.csdn.net/fansy1990

Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: com.ibm.secur相关推荐

  1. mkdir: Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initia

    >hdfs dfs -mkdir /path 报错 报错信息: mkdir: Failed on local exception: java.io.IOException: javax.secu ...

  2. Caused by: java.security.cert.CertPathValidatorException: timestamp check failed

    客户端在连接Server端https的时候出现了 以下错误, 12-27 17:52:45.976: W/System.err(10361): Caused by: java.security.cer ...

  3. maven PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable

    本例使用maven进行sonar代码扫描的时候,url 指定的是 https 地址,出现了异常: Unable to execute SonarScanner analysis: Fail to ge ...

  4. go发送smtp邮件时的踩坑记录——auth login、x509: cannot validate certificate for错误

    最近在用go写一个小工具,一个小功能是用smtp发邮件,用公司内网的邮箱服务器实现踩了不少坑 想知道x509: cannot validate certificate for解决的直接看2.2.1,想 ...

  5. java总是标点符号报错_[javamail]AUTH LOGIN failed;Invalid username or password报错

    项目中需要用到javamailAPI,邮箱服务器用的sohu闪电邮,SMTP协议用来发送,赋值代码: Properties props = new Properties(); props.setPro ...

  6. 解决新建springboot项目时包导不进来的问题sun.security.provider.certpath.SunCertPathBuilderException: unable to f,已解决

    原文地址:因为不是csdn社区的,所以直接复制过来了 http://www.fungnotl.cn/2020/02/24/%E7%9C%9F%E6%AD%A3%E8%A7%A3%E5%86%B3Cou ...

  7. 解决Caused by: sun.security.krb5.KrbException: Cannot locate KDC问题

    背景:在开发hadoop底层相关管理服务的时候,在调试hive相关操作时出现,认证不通过,连接不是hive客户端 问题:解决Caused by: sun.security.krb5.KrbExcept ...

  8. Caused by: javax.persistence.TransactionRequiredException: No EntityManager with actual transaction

    这是笔者把jpa的默认事务关闭后删除数据一个接口爆出的异常信息"Caused by: javax.persistence.TransactionRequiredException: No E ...

  9. Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provid

    1,导出浏览器的证书(以百度为例) 保存在本地,然后上传到服务器 2,查看服务器安装的证书 # 查看服务器安装的证书 keytool -list -keystore /usr/local/jdk1.8 ...

  10. laravel auth login 重定向自定义_Laravel学习之路(一):最简单的API 认证(Passport)实践...

    API 认证(Passport)简介 Laravel 通过传统的登录表单已经让用户认证变得很简单,但是 API 认证怎么实现?API 通常使用令牌(token)进行认证并且在请求之间不维护会话(Ses ...

最新文章

  1. 李洪强iOS经典面试题153- 补充
  2. .Net精简版数据类型
  3. node-rsa加密,java解密调试
  4. 返回1到n的所有组合python_如何在Python中生成0-1矩阵的所有可能组合?
  5. Java读取指定路径下的文件列表
  6. git 克隆新的 git 地址项目,用户名或者密码输入错误,再次执行不弹出用户名密码无法修改
  7. PHP小语种网站开发,当阳小语种建站
  8. 用python画数学函数图像教程_Python 绘制你想要的数学函数图形
  9. Flutter UiKitView 嵌入iOS原生View
  10. python的异步网络编程_python异步网络编程怎么使socket关闭之后立即执行一段代码?...
  11. Java switch的使用细节和使用注意
  12. 使用 matlab 数字图像处理(五)—— 双线性插值(Bilinear Interpolation)
  13. html5查看ies文件,5千+ IES光域网文件 5312 IES Files + IES 预览
  14. CPRI之TDD开关控制字
  15. 文件太多,台式电脑迁移数据到笔记本怎么操作?
  16. 2008服务器系统+共享文件夹权限设置密码,win2008共享权限设置、server2008文件共享权限设置方法...
  17. Windows要求已数字签名的驱动程序
  18. Google搜索引擎使用技巧大全
  19. 神经内科临床带教中CBL教学模式的应用效果
  20. 浮点数floats的的整数除法和运算结果不精确

热门文章

  1. 苹果iPad忘记了Apple ID密码该怎么办?(手机教程)
  2. java ip地址定位,Java根据IP地址定位位置
  3. xml转json(使用工具)
  4. android 高仿国美,iOS高仿国美、二次元应用、点赞喷射动画、电影筛选页等源码...
  5. 计算机网络安全知识讲座新闻稿,我院开展网络安全与信息化建设讲座
  6. Photoshop学习笔记
  7. 【Uniapp 原生插件】芯烨云打印机插件
  8. Mac环境下使用XMAPP 安装testlink
  9. 计算机输入法知识讲解,第一讲计算机基础知识及微软拼音输入法
  10. cobar mysql部署方案_阿里巴巴分布式数据库解决方案——Cobar中间件配置详解 (转)...