这是一篇经验(教训)总结,以此纪念这段时间来由于hdfs的认证踩的大大小小的坑
首先,来个开胃菜

文件名错误


这个问题,属于是吃一堑就是不长智了。
虽然这是一个小小的粗心bug,但绝不能因此忽略其严重性
我的第一个Unable to obtain password from user则是来源于此
Bug
当在Linux服务器中运行测试程序时报错:Unable to obtain password from user
原因分析
初步判断是配置文件问题,经过排查配置文件未发现问题
阅读CEA项目组相关代码发现没有代码层面问题
经过文件比对,发现文件所有者出现错误,应为Hadoop,修改后仍有报错
文件名比对,发现代码中路径出现错误,将keytab文件写作了keyTab文件
解决方法
1、将文件放在hadoop文件夹下,并将其所有者以及所在组换成Hadoop
2、修改代码中对应的路径,更改后缀为keytab

FQDN问题

FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。(通过符号“.”)
例如:主机名是bigserver,域名是mycompany.com,那么FQDN就是bigserver.mycompany.com。 [1]
全限定域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。
从全限定域名中包含的信息可以看出主机在域名树中的位置。DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。

正常情况下,Hadoop会将“_HOST”解析成为本机的FQDN,但不巧的是,在操作过程中,出现了不正常的情况。Hadoop无法正确的解析“_HOST”,这种情况又报错Unable to obtain password from user。
再经过排查之后,发现了问题所在,于是手动将“_HOST”转换为当前服务器的全域名。
经过查询,全域名可用InetAddress.getLocalHost().getCanonicalHostName()取得

String hostname = InetAddress.getLocalHost().getCanonicalHostName();
String principal = HDFS_CONFIG.getPrincipal().replace("_HOST", hostname);

通过该方式,将hdfs中的principal中的"_HOST"用本机的全域名代替,问题得以解决

Hdfs的一系列坑坑洼洼,认证,认证,还是***认证相关推荐

  1. SSL双向认证和单向认证原理

    一.公钥私钥 1,公钥和私钥成对出现 2,公开的密钥叫公钥,只有自己知道的叫私钥 3,用公钥加密的数据只有对应的私钥可以解密 4,用私钥加密的数据只有对应的公钥可以解密 5,如果可以用公钥解密,则必然 ...

  2. android6.0 cta认证,手机cta认证要求有哪些?

    原标题:手机cta认证要求有哪些? 手机cta认证要求有哪些?在国内,手机如果上市销售必须要获得工信部电信设备认证中心的一系列认证,并获得<进网许可证>.国家无委的<型号核准证> ...

  3. PAP认证、CHAP认证

    概述 实验目标 掌握PAP.chap认证方式的配置与验证方法 实验描述 路由器(带串口) 2 台 V.35 线缆(DTE/DCE) 1 对 2技术分析 PPP 协议位于 OSI 七层模型的数据链路层, ...

  4. 华为 H3C 配置 Portal认证 mac-trigger快速认证 Mac无感知认证 Radius认证计费 对接 外部Portal认证计费系统 案例

    华为 H3C 配置 Portal认证 mac-trigger快速认证 Mac无感知认证 Radius认证计费 对接 外部Portal认证计费系统 案例 介绍: OpenPortal网络准入认证计费系统 ...

  5. SSL/TLS单向认证和双向认证介绍

    为了便于理解SSL/TLS的单向认证和双向认证执行流程,这里先介绍一些术语. 1. 散列函数(Hash function):又称散列算法.哈希函数,是一种从任何一种数据中创建小的数字"指纹& ...

  6. 微软认证:微软认证介绍

    由于微软中国网站上关于微软认证的内容更新实在太慢,英文的内容也没有太多的人去看,所以照成了国内很多学员学习和交流上的困难,所以我们ITExamPrep.com特地组织了这一系列的微软认证专题供大家参考 ...

  7. 安规测试简介(二)-常见安规认证测试之CE认证

    CE认证: CE是法语的缩写,英文意思为 "European Conformity" 即"欧洲共同体", 事实上,CE还是欧共体许多国家语种中的"欧共 ...

  8. 深度分析劳保鞋LA认证和CE认证有什么区别

    想必大家都知道劳保鞋是一种保护足部及腿部免受于伤害的"神器".许多企业一年四季都会用到劳保鞋,对劳保鞋市场而言任何时候都是采购旺季.不同类型的劳保鞋其实具有不同的防护性能,因此在穿 ...

  9. 华为 配置 MAC认证优先 Portal认证 Mac无感知快速认证 Radius认证计费 对接 外部 Portal认证计费系统 案例

    华为 配置 MAC认证优先 Portal认证 Mac无感知快速认证 Radius认证计费 对接 外部 Portal认证计费系统 案例 介绍: OpenPortal网络准入认证计费系统,支持用户名密码认 ...

最新文章

  1. 梦幻西游三维版显示服务器未开启,梦幻西游三维版登录不进去怎么办-梦幻西游三维版登录不进去解决办法介绍_斗蟹游戏网...
  2. Why Object.prototype.hasOwnProperty.call(myObj, prop)
  3. Matlab图像形态学处理—开操作和闭操作
  4. c++17进阶(3)-Boehm GC垃圾回收(1)
  5. Git之深入解析Git的安装流程与初次运行Git前的环境配置
  6. 音视频技术开发周刊 | 162
  7. T183637-变异距离(2021 CoE III C)【单调栈】
  8. 如何实现:判断数据库中某表是否有记录,若为空,则插入一条记录。若不为空则查询某记录...
  9. C# 怎样判断 datagridview 中的checkbox列是否被选中
  10. navcat定时备份mysql_MySQL——定时备份,保留最新31天的数据
  11. 机器学习_贝叶斯算法
  12. [转]VS2008 集成openCV过程
  13. 遥感动态监测实验(以福州为例)
  14. 解读审计领域国内外资质认证CISA、ISO27001 Auditor
  15. 复数基2 DIT FFT程序
  16. Linux安装及管理程序
  17. 软件测试周刊(第15期):将军赶路 不追小兔
  18. 在BuildConfig中添加自定义字段
  19. EndNote导入文献出现带有大括号{}乱码的解决办法
  20. float与定位脱离文档流布局规则

热门文章

  1. 小米 android项目代码,[Android] 代码获取手机系统类型(小米MIUI、华为EMUI、魅族FLYME)...
  2. 今日金融词汇---存货周转天数
  3. java 属性签名_java – 使用BouncyCastle将签名/身份验证的属性添加到CMS签名
  4. mysql行锁/表锁
  5. Spring Mybatis-Plus一键代码结构生成
  6. CPTN代码运行报错
  7. Java JDK安装与配置
  8. 笔耕不缀,学无止境|报名参加CCTC的八大理由
  9. iOS 模仿系统的抖动动画
  10. 基于YOLOv5的中式快餐店菜品识别系统