当前位置: 首页 > news >正文

hbase加kerberos 后报错hbase master 起不来

文章目录

  • hbase加kerberos 后报错hbase master 起不来
    • 背景
    • 问题
    • 解决
      • 依然出错
    • 总结

hbase加kerberos 后报错hbase master 起不来

背景

公司测试环境,好多人用,各种瞎改,以前的问题也不好改,我就没管,把kerberos装上后,hbase master起不来了

问题

habse master重启后进入standby,一会自己挂掉,查看日志文件如下

ERROR [main] regionserver.HRegionServer: Failed construction RegionServer
org.apache.hadoop.security.KerberosAuthException: failure to login: for principal: hbase/master.am.com@AM.COM from keytab /etc/security/keytabs/hbase.service.keytab javax.security.auth.login.LoginException: Unable to obtain password from user

        at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1847)
        at org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytabAndReturnUGI(UserGroupInformation.java:1215)
        at org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:1008)
        at org.apache.hadoop.security.SecurityUtil.login(SecurityUtil.java:313)
        at org.apache.hadoop.hbase.security.User$SecureHadoopUser.login(User.java:344)
        at org.apache.hadoop.hbase.security.User.login(User.java:231)
        at org.apache.hadoop.hbase.security.UserProvider.login(UserProvider.java:198)
        at org.apache.hadoop.hbase.master.HMaster.login(HMaster.java:663)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:582)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:478)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3093)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:236)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)
        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:3111)
Caused by: javax.security.auth.login.LoginException: Unable to obtain password from user

        at com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:901)
        at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:764)
        at com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:617)
        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 javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
        at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
        at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
        at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:1926)
        at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1837)
        ... 19 more
2022-09-14 16:23:18,536 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster.
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3100)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:236)
......

解决

看日志能看出来,是kerberos认证的问题,让他自动重建一份还是不行,就手动重建

sudo kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytabs/hbase.service.keytab  hbase/master.am.com@AM.COM"

依然出错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sYENbeUs-1664610753369)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bea783c8d8e644efb4a0bea7559fbcab~tplv-k3u1fbpfcp-watermark.image?)]

判断是权限问题
修改keytab文件权限

chown -R hbase:hadoop /etc/security/keytabs/hbase.service.keytab

重启服务问题解决

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JgUL62sm-1664610753370)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3b4dda3ceb0140fa9329bde8d1ae2f0a~tplv-k3u1fbpfcp-watermark.image?)]

总结

1.需要手动重新创建keytab文件
2.注意keytab文件权限问题
3.解决问题命令如下:

sudo kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytabs/hbase.service.keytab  hbase/master.am.com@AM.COM"
chown -R hbase:hadoop /etc/security/keytabs/hbase.service.keytab

相关文章:

  • iPad 使用技巧:虚拟键盘与实体键盘
  • 皮亚杰将儿童的道德发展分为四个阶段
  • 2021.09青少年软件编程(Python)等级考试试卷(五级)
  • JAVA毕设项目足球信息发布平台(java+VUE+Mybatis+Maven+Mysql)
  • Nature子刊:一个从大脑结构中识别阿尔茨海默病维度表征的深度学习框架
  • 循环神经网络(Recurrent Neural Network)详解
  • TypeScript基础常用知识点总结
  • 基于AT89C52和DS18B20的空调温度精准控制系统
  • 使用node.js + express框架 搭建一个微型服务器
  • Ensembling Off-the-shelf Models for GAN Training(GAN模型迎来预训练时代,仅需1%的训练样本)
  • Dobbo微服务项目实战(详细介绍+案例源码) - 3.用户信息
  • 谷歌翻译 失效/无法使用方法,谷歌停止在中国地区的谷歌翻译服务
  • Matplotlib绘制折线图,条形图,柱状图,面积图
  • Navisworks二次开发——图元属性获取
  • 【深度学习100例】—— 使用PyTorch实现验证码识别 | 第4例
  • JavaScript-如何实现克隆(clone)函数
  • 【翻译】babel对TC39装饰器草案的实现
  • Android Volley源码解析
  • E-HPC支持多队列管理和自动伸缩
  • HTTP请求重发
  • JS题目及答案整理
  • js中的正则表达式入门
  • k个最大的数及变种小结
  • Lsb图片隐写
  • mockjs让前端开发独立于后端
  • mysql常用命令汇总
  • mysql外键的使用
  • python 学习笔记 - Queue Pipes,进程间通讯
  • vue中实现单选
  • windows-nginx-https-本地配置
  • 关于使用markdown的方法(引自CSDN教程)
  • 每天10道Java面试题,跟我走,offer有!
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 以太坊客户端Geth命令参数详解
  • 最简单的无缝轮播
  • C# - 为值类型重定义相等性
  • $.proxy和$.extend
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (a /b)*c的值
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET CF命令行调试器MDbg入门(一)
  • .Net mvc总结
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • @Transient注解
  • [@Controller]4 详解@ModelAttribute
  • [2023年]-hadoop面试真题(一)
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现
  • [C++]四种方式求解最大子序列求和问题
  • [hive小技巧]同一份数据多种处理
  • [LeetCode]-Integer to Roman 阿拉伯数字转罗马数字
  • [Mvc]在ASP.NET MVC中使用Repeater