Windows环境下MIT Kerberos错误1765328190(krb5_cc_set_flags失败)求助
Hive ODBC连接Kerberos权限错误解决方案
报错信息
凭据缓存权限不正确(Kerberos错误码 -1765328190)
krb5_cc_set_flags 执行失败
已尝试的操作
- 重装64位Windows版kfw-4.1-amd64.msi(版本4.1)
- 重装64位Windows版ClouderaHiveODBC64.msi(版本2.5.25.1020)
- 开放Hive的10000端口与KDC服务器的88端口
- 将krb5.conf复制到
c:\ProgramData\MIT\Kerberos5\krb5.ini路径 - 设置系统变量
KRB5_CONFIG=c:\ProgramData\MIT\Kerberos5\krb5.ini及KRB5CCNAME=c:\test\krb5cache
解决方案
修复凭据缓存文件权限
- 找到
c:\test\krb5cache文件,右键选择「属性」→「安全」标签 - 确保当前登录用户拥有完全控制或至少「读取/写入」权限,删除其他无关用户的宽泛权限(如Everyone)
- 若文件不存在,手动创建空文件后再设置权限
- 找到
调整Kerberos缓存路径
- 确认
c:\test\目录存在,若不存在先创建 - 建议将缓存文件移至用户专属目录(如
C:\Users\你的用户名\krb5cache),避免系统UAC管控路径,同时更新系统变量KRB5CCNAME到新路径
- 确认
验证krb5.ini配置
- 打开
c:\ProgramData\MIT\Kerberos5\krb5.ini,检查:[libdefaults]下default_realm与KDC服务器域名一致(需大写,如EXAMPLE.COM)[realms]下KDC地址、admin_server地址及88端口配置正确- 配置文件无语法错误(如括号配对、逗号分隔)
- 打开
重新获取Kerberos票据
- 以管理员身份打开命令提示符,执行:
kinit 你的Hive用户名@REALM_NAME - 输入密码后执行
klist,确认票据获取成功且缓存文件生成有效内容
- 以管理员身份打开命令提示符,执行:
检查ODBC数据源Kerberos配置
- 打开64位ODBC数据源管理器,进入Hive数据源配置界面:
- 确认「Authentication」选择「Kerberos」
- 「Kerberos Realm」与krb5.ini中
default_realm一致 - 「Kerberos Service Name」填写格式为
hive/你的Hive服务器域名@REALM_NAME
- 打开64位ODBC数据源管理器,进入Hive数据源配置界面:
规避UAC权限限制
- 临时关闭用户账户控制(UAC),或右键以管理员身份运行ODBC数据源管理器后再测试连接
内容的提问来源于stack exchange,提问作者user20531732
相关产品推荐
相关产品推荐

