- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经在 Windows 中配置了使用 kerberos 保护的 hadoop-2.6.0。一切正常。但是当我执行下面的命令时
hdfs fsck /
我遇到以下异常。
异常
> Connecting to namenode via https://hostname:50470 Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.val idator.ValidatorException: No trusted certificate found at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker. java:1341) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.jav a:153) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) at sun.security.ssl.Handshaker.process_record(Handshaker.java:804) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. java:1312) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339 ) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323 ) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java: 563) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (AbstractDelegateHttpsURLConnection.java:185) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLCon nectionImpl.java:153) at org.apache.hadoop.security.authentication.client.KerberosAuthenticato r.authenticate(KerberosAuthenticator.java:186) at org.apache.hadoop.security.authentication.client.AuthenticatedURL.ope nConnection(AuthenticatedURL.java:216) at org.apache.hadoop.hdfs.web.URLConnectionFactory.openConnection(URLCon nectionFactory.java:164) at org.apache.hadoop.hdfs.tools.DFSck.doWork(DFSck.java:303) at org.apache.hadoop.hdfs.tools.DFSck.access$000(DFSck.java:72) at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:145) at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:142) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInforma tion.java:1628) at org.apache.hadoop.hdfs.tools.DFSck.run(DFSck.java:141) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) at org.apache.hadoop.hdfs.tools.DFSck.main(DFSck.java:341) Caused by: sun.security.validator.ValidatorException: No trusted certificate fou nd at sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValida tor.java:384) at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator .java:134) at sun.security.validator.Validator.validate(Validator.java:260) at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.j ava:326) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerIm pl.java:231) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustMan agerImpl.java:107) at org.apache.hadoop.security.ssl.ReloadingX509TrustManager.checkServerT rusted(ReloadingX509TrustManager.java:129) at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLCo ntextImpl.java:813) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker. java:1323) ... 24 more
我已经从我的默认浏览器中导出证书并使用以下命令添加到 keystore 中,但仍然面临同样的错误。
keytool -import -alias nncert -keystore c:\Java\jre\lib\security\cacerts -file nn.crt
帮我解决这个问题。
谢谢。
最佳答案
我已经按照 this 中的步骤解决了这个问题。链接。
导出证书后,它应该添加到 java truststore %JAVA_HOME%\jre\lib\security\cacerts 的默认位置,因为 fsck 命令使用 ssl 的默认位置。
希望这可能对某人有所帮助。
关于java - 找不到 hdfs fsck/命令的可信证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28576978/
我正在尝试增强确定用户是否为给定AD组成员的代码。它实际上是有效的,除非组的成员恰好来自另一个(受信任)域,因为它存储为外部安全性本金。 鉴于我对要测试的组和要检查的帐户都有一个有效的Director
更新 我有posted a script我正在使用这个到StackExchange代码审查站点。 我最初的问题是,有没有一种方法可以用X.509证书和时间戳签署Git提交?.有一段时间,我以为我只能得
我想使用 Jasmine 来确保 AngularJS 正确信任 html 数据值。 代码 下面的代码通过外部 API 获取 article 并使用 Angular 的 $sce 来信任 article
在服务器上完全卸载 python 并重新安装 python 和 python-dev 后,Python 出现故障。最明显的错误是我无法从标准库中导入一些模块。例如,我无法导入 datetime 和 e
我正在 ubuntu 14.04 中安装 cloudera 5.4。当安装向导启动并到达 java 安装部分(安装向导的第 2 部分)时,它会卡住并且窗口变为灰色。我等了很长时间但没有任何反应,所以我
我是一名优秀的程序员,十分优秀!