IDEA连接kerberos环境的HDFS集群报错整理

article/2025/9/20 0:18:46

连接hdfs代码

public class HdfsTest {public static void main(String[] args) throws IOException {System.setProperty("java.security.krb5.conf", "hdfs-conf-kerberos\\krb5.conf");Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://bigdata-37-201:8020");conf.set("hadoop.security.authentication", "kerberos");try {UserGroupInformation.setConfiguration(conf);UserGroupInformation.loginUserFromKeytab("hdfs_test1/hdfs_test1@HADOOP.COM", "hdfs-conf-kerberos\\hdfs_test1.keytab");System.out.println("+++++++++++++="+UserGroupInformation.getCurrentUser());} catch (IOException e) {e.printStackTrace();}FileSystem fs = FileSystem.get(conf);FileStatus[] fsStatus = fs.listStatus(new Path("/tmp"));for (int i = 0; i < fsStatus.length; i++) {System.out.println("+++++ "+fsStatus[i].getPath().toString());}}
}

配置文件放置路径:

报错内容:

2021-02-18 15:33:50,189 INFO [org.apache.hadoop.security.UserGroupInformation] - Login successful for user hdfs_test1/hdfs_test1@HADOOP.COM using keytab file hdfs-conf-kerberos\hdfs_test1.keytab
+++++++++++++=hdfs_test1/hdfs_test1@HADOOP.COM (auth:KERBEROS)
2021-02-18 15:34:17,628 WARN [org.apache.hadoop.ipc.Client] - Couldn't setup connection for hdfs_test1/hdfs_test1@HADOOP.COM to bigdata-37-201/192.168.37.201:8020
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Clock skew too great (37) - PROCESS_TGS)]at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:211)at org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:408)at org.apache.hadoop.ipc.Client$Connection.setupSaslConnection(Client.java:613)at org.apache.hadoop.ipc.Client$Connection.access$2200(Client.java:409)at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:798)at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:794)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:422)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:794)at org.apache.hadoop.ipc.Client$Connection.access$3500(Client.java:409)at org.apache.hadoop.ipc.Client.getConnection(Client.java:1552)at org.apache.hadoop.ipc.Client.call(Client.java:1383)at org.apache.hadoop.ipc.Client.call(Client.java:1347)at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228)at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116)at com.sun.proxy.$Proxy11.getListing(Unknown Source)at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getListing(ClientNamenodeProtocolTranslatorPB.java:653)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:422)at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165)at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157)at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95)at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359)at com.sun.proxy.$Proxy12.getListing(Unknown Source)at org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:1678)at org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:1662)at org.apache.hadoop.hdfs.DistributedFileSystem.listStatusInternal(DistributedFileSystem.java:977)at org.apache.hadoop.hdfs.DistributedFileSystem.access$1000(DistributedFileSystem.java:118)at org.apache.hadoop.hdfs.DistributedFileSystem$24.doCall(DistributedFileSystem.java:1041)at org.apache.hadoop.hdfs.DistributedFileSystem$24.doCall(DistributedFileSystem.java:1038)at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)at org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:1048)at com.hdfs.krb6.HdfsTest.main(HdfsTest.java:35)
Caused by: GSSException: No valid credentials provided (Mechanism level: Clock skew too great (37) - PROCESS_TGS)at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:770)at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:248)at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179)at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:192)... 36 more
Caused by: KrbException: Clock skew too great (37) - PROCESS_TGSat sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:73)at sun.security.krb5.KrbTgsReq.getReply(KrbTgsReq.java:251)at sun.security.krb5.KrbTgsReq.sendAndGetCreds(KrbTgsReq.java:262)at sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:308)at sun.security.krb5.internal.CredentialsUtil.acquireServiceCreds(CredentialsUtil.java:126)at sun.security.krb5.Credentials.acquireServiceCreds(Credentials.java:458)at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:693)... 39 more
Caused by: KrbException: Identifier doesn't match expected value (906)at sun.security.krb5.internal.KDCRep.init(KDCRep.java:140)at sun.security.krb5.internal.TGSRep.init(TGSRep.java:65)at sun.security.krb5.internal.TGSRep.<init>(TGSRep.java:60)at sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:55)... 45 more
Exception in thread "main" java.io.IOException: Failed on local exception: java.io.IOException: Couldn't setup connection for hdfs_test1/hdfs_test1@HADOOP.COM to bigdata-37-201/192.168.37.201:8020; Host Details : local host is: "WB20200528/172.16.137.39"; destination host is: "bigdata-37-201":8020; at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:808)at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1495)at org.apache.hadoop.ipc.Client.call(Client.java:1437)at org.apache.hadoop.ipc.Client.call(Client.java:1347)at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228)at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116)at com.sun.proxy.$Proxy11.getListing(Unknown Source)at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getListing(ClientNamenodeProtocolTranslatorPB.java:653)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

错误日志分析一

2021-02-18 15:34:17,628 WARN [org.apache.hadoop.ipc.Client] - Couldn't setup connection for hdfs_test1/hdfs_test1@HADOOP.COM to bigdata-37-201/192.168.37.201:8020
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Clock skew too great (37) - PROCESS_TGS)]

Clock skew too great 时钟偏差太大

查找一下windows的时间和集群的时间,发现还真的相差半小时,修改windows的时间和集群时间同步再次执行上面代码

显示结果和在shell下查询相同

错误日志分析二

Exception in thread "main" java.io.IOException: Failed on local exception: java.io.IOException: Couldn't setup connection for hdfs_test1/hdfs_test1@HADOOP.COM to bigdata-37-201/192.168.37.201:8020; Host Details : local host is: "WB20200528/172.16.137.39"; destination host is: "bigdata-37-201":8020;

注意: hadoop.rpc.protection必须与集群的配置保持一致(core-site.xml)

conf.set("hadoop.rpc.protection", "authentication"); //conf.set("hadoop.rpc.protection", "privacy");

参考链接:https://blog.csdn.net/zhouyuanlinli/article/details/78581510

 


http://chatgpt.dhexx.cn/article/jfTGcLTd.shtml

相关文章

Failed to create/setup connection: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。

情况描述&#xff1a;用hutool的DB工具测试连接SQL server数据库。结果返回异常。 尝试网上的一些方法&#xff0c;但均未成功。 如&#xff1a; 1、更换JDK&#xff0c;这是不可能的。现在用的是1.8 2、jre/lib/ext目录增加bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1…

当刷机工具遇到SetupConnection时的解决方法

当刷机工具遇到SetupConnection时&#xff0c;解决方法 首先&#xff0c;在此贴上原文地址&#xff0c;已表感激之情。 http://blog.sina.com.cn/s/blog_636fd7d90101drak.html http://bbs.gfan.com/android-4032375-1-1.html 据说程序员是比较挑剔的&#xff0c;骨子里难…

电子元件二极管封装SMA,SMB,SMC的区别

某个电路使用二极管&#xff08;典型的如肖特基二极管SS14 SS24 SS34&#xff09;&#xff0c;发现居然有三个规格&#xff0c;SMA, SMB, SMC&#xff0c; 找了一下其区别&#xff0c;记录如下&#xff0c; 从下面图片的来看&#xff0c;可以看出主要体积上不同&#xff1a;S…

Windows Server之浅谈SMB以及SMB小案例分享

Windows Server之浅谈SMB以及SMB小案例分享 gs_h关注4人评论89230人阅读2017-01-23 14:45:45 SMB由来 服务器消息区块&#xff08;英语&#xff1a;Server Message Block&#xff0c;缩写为SMB&#xff0c;服务器消息区块&#xff09;&#xff0c;又称网络文件共享系统&#x…

linux——SMB文件共享及应用实例

SMB文件共享 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件&#xff0c;由服务器及客户端程序构成。SMB(Server Messages Block&#xff0c;信息服务块)是一种在局域网上共享文件和打印机的一种通信协议&#xff0c;它为局域网内的不同计算机之间提供文件及打印机等资源…

Linux-smb服务器搭建

Linux-smb服务器搭建 wget安装 rpm源获取地址&#xff1a;https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/ 阿里云Yum源配置 1.可以移除默认的yum仓库&#xff0c;也就是删除 /etc/yum.repos.d/底下所有的.repo文件&#xff08;踢出国外的yum源&#xff09; 2…

Windows搭建SMB服务

Windows搭建SMB服务 本文介绍在windows本地环境上搭建SMB服务实现文件共享 配置服务 在本地机上以Windows10举例 &#xff1a;在控制面板 -->程序–>程序和功能–>启用或关闭Windows功能–>SMB 1.0/cifs file sharing support勾选SMB 1.0/CIFS Client和SMB 1.0/CI…

windows中的文件共享(SMB服务)

目录 SMB 如何进行文件共享 默认共享 默认共享盘符挂载 关闭默认共享 关闭共享服务 net sahre 查看共享 net share /del 共享名 删除共享 \\ip地址 访问共享 \\ip地址\c$ …

win10 smb共享硬盘

如果一台电脑里存放了电影&#xff0c;其它设备想要播放&#xff0c;可以通过远程看&#xff08;会卡&#xff09;、ftp下载后看&#xff08;麻烦&#xff09;、U盘拷贝&#xff08;麻烦&#xff09; 怎么共享win10的内容给其它设备&#xff0c;像访问本地硬盘似的呢 通过smb共…

Windows电脑SMB共享设置方法

SMB简介&#xff1a; SMB&#xff08;Server Message Block&#xff09;(*nix平台和Win NT4.0又称CIFS)协议是Windows平台标准文件共享协议&#xff0c;Linux平台通过samba来支持。SMB最新版本v3.0&#xff0c;在v2.0基础上针对WAN和分布式有改进。 建议使用原版wind…

Ubuntu搭建SMB服务器,并共享文件夹

一、Ubuntu安装步骤&#xff1a; 1.ubuntu安装samba sudo apt-get install samba 2.创建文件夹/home/share&#xff0c;并修改权限为777 mkdir /home/share chmod 777 /home/share 3.修改Samba配置文件&#xff0c;无账号密码直接访问共享文件夹 sudo vim /etc/samba/smb.co…

利用SMB协议实现局域网内设备文件的共享

文章目录 参考资料说明步骤1&#xff1a;[windows]开启SMB协议步骤2&#xff1a;[windows]创建新的用户账号步骤3&#xff1a;[windows]共享文件夹属性-共享-共享属性-共享-高级共享 步骤4&#xff1a;[windows]查看共享文件的主机在局域网内的IP地址步骤5&#xff1a;[ipad]打…

Windows 之 win SMB(smb) 功能的开启设置和使用的简单说明

Windows 之 win SMB(smb) 功能的开启设置和使用的简单说明 目录 Windows 之 win SMB(smb) 功能的开启设置和使用的简单说明 一、简单介绍 二、演示环境 二、SMB&#xff08;smb&#xff09;服务的开启 1、找到 控制面板 2、打开 控制面板&#xff0c;找到 “程序” 之类…

永恒之蓝(ms17-010)复现

漏洞简介&#xff1a;Eternalblue通过 TCP 端口445和139来利用SMBv1和NBT中的远程代码执行漏洞&#xff0c;恶意代码会扫描开放445文件共享端口的windows机器&#xff0c;无需用户任何操作&#xff0c;只要开机上网&#xff0c;就能执行恶意操作。 SMB一开始的设计是在NetBIOS…

如何使用smb共享文件(win10),可多人同时下载

本文为转载&#xff1a;SMB文件共享教程 - 知乎 Server Message Block -- SMB&#xff0c;是一种文件共享协议。当文件原件在你的A电脑上&#xff0c;而你想在局域网下用你的手机、iPad或是另一台电脑来访问A电脑上的该文件时&#xff0c;你可能需要用到SMB共享。在本文中假设我…

对话机器人之Sparrow

每天给你送来NLP技术干货&#xff01; 来自&#xff1a;NLP日志 提纲 1 简介 2 Sparrow 3 总结 参考文献 点击这里进群—>加入NLP交流群 1 简介 DeepMind提出的Sparrow&#xff0c;相对于以往的方法&#xff0c;是一种更加有用&#xff0c;准确并且无害的信息检索对话机器人…

聊天机器人综合介绍

NLP主流方向 技术使用seq 2seqAttention 第一章聊天机器人综合介绍 第二章NLP基础 第三章检索类聊天机器人 第四章生成类聊天机器人 第五章pytorch基础 第六章聊天机器人发展方向 基于Pytorch聊天机器人代码实战 掌握NLP基础知识 熟悉和使用pytorch 掌握NLP主流SeqSeqAttention…

语音对话机器人,百行Python代码就能轻松实现

前言 siri是由苹果开发的人工智能系统,很多人在无聊的时候就喜欢调戏siri,不过反倒被siri给调戏了。 其实咱们用Python也可以实现一个类似siri的对话机器人。 基本环境配置 版本&#xff1a;Python3 系统&#xff1a;Windows 原理 许多现代语音识别系统会在HMM识别之前使…

上篇 | 如何设计一个多轮对话机器人

导语&#xff1a;多轮对话聊天机器人&#xff0c;作为人工智能的典型应用场景&#xff0c;也是一项极具挑战的任务&#xff0c;不仅涉及多方面异构知识的表示、抽取、推理和应用&#xff0c;还涉及包括自然语言理解在内的其他人工智能核心技术的综合利用 简介与相关技术调研 目…

聊天机器人概述

目录 <span style"color:#333333"><span style"background-color:#f5f5f5">1.前言 2.机器人 3.聊天机器人 4.分类 5.好的聊天机器人应该具备的特点 6.基于模板的聊天机器人 7.检索式聊天机器人 8.生成式聊天机器人 9.参考文献 </span>&l…