Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: com.ibm.secur
首先说下出现这个错误的环境配置吧: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相关推荐
- 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 ...
- 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 ...
- maven PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable
本例使用maven进行sonar代码扫描的时候,url 指定的是 https 地址,出现了异常: Unable to execute SonarScanner analysis: Fail to ge ...
- go发送smtp邮件时的踩坑记录——auth login、x509: cannot validate certificate for错误
最近在用go写一个小工具,一个小功能是用smtp发邮件,用公司内网的邮箱服务器实现踩了不少坑 想知道x509: cannot validate certificate for解决的直接看2.2.1,想 ...
- java总是标点符号报错_[javamail]AUTH LOGIN failed;Invalid username or password报错
项目中需要用到javamailAPI,邮箱服务器用的sohu闪电邮,SMTP协议用来发送,赋值代码: Properties props = new Properties(); props.setPro ...
- 解决新建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 ...
- 解决Caused by: sun.security.krb5.KrbException: Cannot locate KDC问题
背景:在开发hadoop底层相关管理服务的时候,在调试hive相关操作时出现,认证不通过,连接不是hive客户端 问题:解决Caused by: sun.security.krb5.KrbExcept ...
- Caused by: javax.persistence.TransactionRequiredException: No EntityManager with actual transaction
这是笔者把jpa的默认事务关闭后删除数据一个接口爆出的异常信息"Caused by: javax.persistence.TransactionRequiredException: No E ...
- Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provid
1,导出浏览器的证书(以百度为例) 保存在本地,然后上传到服务器 2,查看服务器安装的证书 # 查看服务器安装的证书 keytool -list -keystore /usr/local/jdk1.8 ...
- laravel auth login 重定向自定义_Laravel学习之路(一):最简单的API 认证(Passport)实践...
API 认证(Passport)简介 Laravel 通过传统的登录表单已经让用户认证变得很简单,但是 API 认证怎么实现?API 通常使用令牌(token)进行认证并且在请求之间不维护会话(Ses ...
最新文章
- 李洪强iOS经典面试题153- 补充
- .Net精简版数据类型
- node-rsa加密,java解密调试
- 返回1到n的所有组合python_如何在Python中生成0-1矩阵的所有可能组合?
- Java读取指定路径下的文件列表
- git 克隆新的 git 地址项目,用户名或者密码输入错误,再次执行不弹出用户名密码无法修改
- PHP小语种网站开发,当阳小语种建站
- 用python画数学函数图像教程_Python 绘制你想要的数学函数图形
- Flutter UiKitView 嵌入iOS原生View
- python的异步网络编程_python异步网络编程怎么使socket关闭之后立即执行一段代码?...
- Java switch的使用细节和使用注意
- 使用 matlab 数字图像处理(五)—— 双线性插值(Bilinear Interpolation)
- html5查看ies文件,5千+ IES光域网文件 5312 IES Files + IES 预览
- CPRI之TDD开关控制字
- 文件太多,台式电脑迁移数据到笔记本怎么操作?
- 2008服务器系统+共享文件夹权限设置密码,win2008共享权限设置、server2008文件共享权限设置方法...
- Windows要求已数字签名的驱动程序
- Google搜索引擎使用技巧大全
- 神经内科临床带教中CBL教学模式的应用效果
- 浮点数floats的的整数除法和运算结果不精确
热门文章
- 苹果iPad忘记了Apple ID密码该怎么办?(手机教程)
- java ip地址定位,Java根据IP地址定位位置
- xml转json(使用工具)
- android 高仿国美,iOS高仿国美、二次元应用、点赞喷射动画、电影筛选页等源码...
- 计算机网络安全知识讲座新闻稿,我院开展网络安全与信息化建设讲座
- Photoshop学习笔记
- 【Uniapp 原生插件】芯烨云打印机插件
- Mac环境下使用XMAPP 安装testlink
- 计算机输入法知识讲解,第一讲计算机基础知识及微软拼音输入法
- cobar mysql部署方案_阿里巴巴分布式数据库解决方案——Cobar中间件配置详解 (转)...