Specified version of key is not available (44)
-- ::, ERROR [HiveServer2-Handler-Pool: Thread-]: transport.TSaslTransport (TSaslTransport.java:open()) - SASL negotiation failure
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: Failure unspecified at GSS-API level (Mechanism level: Specified version of key is not available ())]
at com.sun.security.sasl.gsskerb.GssKrb5Server.evaluateResponse(GssKrb5Server.java:)
at org.apache.thrift.transport.TSaslTransport$SaslParticipant.evaluateChallengeOrResponse(TSaslTransport.java:)
at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:)
at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:)
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:)
at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$.run(HadoopThriftAuthBridge.java:)
at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$.run(HadoopThriftAuthBridge.java:)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:)
at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:)
Caused by: GSSException: Failure unspecified at GSS-API level (Mechanism level: Specified version of key is not available ())
at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:)
at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:)
at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:)
at com.sun.security.sasl.gsskerb.GssKrb5Server.evaluateResponse(GssKrb5Server.java:)
... more
Caused by: KrbException: Specified version of key is not available ()
at sun.security.krb5.EncryptionKey.findKey(EncryptionKey.java:)
at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:)
at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:)
at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:)
at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:)
... more
先贴个比较搞笑的错误
这个错误字面上意思是说, Specified version of key is not available,指定版本的key不可用,我就奇了怪了我哪里指定key了,找度娘帮忙,找到一个貌似解释还可以的答案:https://stackoverflow.com/questions/24511812/krbexception-specified-version-of-key-is-not-available-44
答案:

意思是说,keytab文件的版本号和kerberos中的版本号不一致导致的,需要在创建keytab文件时加上参数跳过该检查.我去实验了这个办法,在服务端和客户端比对keytab版本号,直到一直,然并卵还是报这个错误,直到我打开debug日志,才发现原因并不是这样子的.
打开debug日志只要修改日志文件就好了:
vi apache-hive-1.2.-bin/conf/hive-log4j.properties
改为debug,就会发现有一个提示:在说验证的kerberos用户不同,最后证明是我的连接串写错了:
jdbc连接串:
jdbc:hive2://10.1.4.32:10000/default;principal=udap/host32@STA.COM
beeline连接串:
!connect jdbc:hive2://10.1.4.32:10000/default;principal=udap/host32@STA.COM
我的错误在于把连接串的后面principle当做了自定义用户,比如:
!connect jdbc:hive2://10.1.4.32:10000/default;principal=garfield/host32@STA.COM
这样子就会报上面那个错
done
Specified version of key is not available (44)的更多相关文章
- Hadoop安全(1)——————美团Hadoop安全实践
http://tech.meituan.com/hadoop-security-practice.html 前言 在2014年初,我们将线上使用的 Hadoop 1.0 集群切换到 Hadoop 2. ...
- 【转】Hadoop安全实践
前言 在2014年初,我们将线上使用的 Hadoop 1.0 集群切换到 Hadoop 2.2.0 稳定版, 与此同时部署了 Hadoop 的安全认证.本文主要介绍在 Hadoop 2.2.0 上部署 ...
- The thumbprint of same asymmetric key is not same in 'SQL Server Connector for Microsoft Azure Key Vault' 1.0.4.0 and 'SQL Server Connector for Microsoft Azure Key
https://support.microsoft.com/en-us/help/4470999/db-backup-problems-to-sql-server-connector-for-azur ...
- iOS 在系统设置中展示Version, Build, Git等信息
在设置中,展示自定义内容,如下图INFO区域内容: 步骤: 1.在项目中添加Settings.bundle文件 Root.plist和Root.plist的Source code如下 ...
- Upgrade NE script with GUI but cannot support multithread, need to add soon
#-*- coding:utf-8 -*- __authour__='CC' from Tkinter import *import osimport telnetlibimport timeimpo ...
- NE Upgrade python script. Need to write a Tkinter GUI for it
# -*- coding: utf-8 -*-#from ftplib import FTP __authour__='CC' import osimport telnetlibimport time ...
- linux远程登录(Telnet、SSH)
系统:RHEL 5.5 64位,使用CentOS的yum源并作更新处理 参考书目<Linux兵书>/电子工业出版社/刘丽霞,细节之处稍有变动. 一.Telnet(远程登录推荐SSH) 1. ...
- 蓝牙模块连接后出现ANR,日志记录
11-25 16:29:48.433 14507-14561/myapplication.com.myblue W/MALI: glDrawArrays:714: [MALI] glDrawArray ...
- SSH-KEY服务及批量分发与管理实战
SSH服务 一.SSH服务介绍 SSH是Secure Shell Protocol的简写,由IETF网络工作小组制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据 ...
随机推荐
- Goodbye Wuxu.B.新年的Dog划分(交互 二分 二分图)
题目链接 官方题解写得很详细,我竟然看懂了. Subtask1: 暴力的话,猜可以\(2^n\)枚举点集\(A,B\),将除了\(A,B\)之间的边全部删掉,然后询问.一定有至少一组\(A,B\)返回 ...
- python3.6.5 + selenium +VS Code 运行报错:Unable to find a matching set of capabilities的解决
在python3.6.5 + selenium +VS Code 环境中,在class的__init__ 方法初始化火狐浏览器时出现以下错误: 发生异常: selenium.common.except ...
- [机器学习入门篇]-Logistic函数与Softmax函数
1.Logistic函数 在维基百科中,对logistic函数这样介绍道: A logistic function or logistic curve is a common "S" ...
- python反转列表的三种方式
1.内建函数reversed() li =[1, 2, 3, 4, 5, 6] a = list(reversed(li)) print (a) 注意:reversed()函数返回的是一个迭代器,而不 ...
- 获取html下的所有纯文本的方法
第一种是看别人博客的,第二种是自己发现的. 第一种: #-*- coding: utf8 -*- import re html = """ <div class=& ...
- Word2vec的Skip-Gram 系列1
转自雷锋网的一篇很棒的文章,写的通俗易懂.自己消化学习了.原文地址是 https://www.leiphone.com/news/201706/PamWKpfRFEI42McI.html 这次的分享主 ...
- pygame-KidsCanCode系列jumpy-part6-主角挂掉重新开始
游戏的虚拟世界中,最让人happy的一个因素就是主角挂了,而且重来,只要restart就行了,不象现实中人的生命只有1次.回顾上节的效果,如果方块向下落时,挡板没接住,整个游戏就跪了: 如果我们希望方 ...
- pygame 笔记-5 模块化&加入敌人
上一节,已经用OOP方法,把几个类抽象出来了,但是都集中在一个.py文件中,代码显得很冗长,这一节复用模块化的思想,把这个大文件拆分成几个小文件: 先把主角Player单独放到一个文件player.p ...
- idea+maven+springboot+mybatis
确认maven环境,安装maven在这里就不赘述了. 在idea新建maven项目 下图中填上你Maven安装的目录 打开pom文件,导入jar包(手动敲入/拷贝) 下面是配置之后的pom文件内容 & ...
- nginx -- 单独访问某个页面404