本文主要是介绍大数据集群票据碰撞问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
kdc-kerberos 票据缓存在默认的/tmp/krb5cc_*这个文件,会导致个严重的问题:
- linux系统会定期删除/tmp,这回导致偶发性的票据验证失败问题;
- 多用户并发执行任务的时候,票据会碰撞导致意外结果:
- shell: 设置环境变量
- export KRB5CCNAME=/home/keytab/krb5cc
- python:改变缓存票据的存放路径
- shell: 设置环境变量
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 作者: tianjun
# 时间: 2020/3/9 下午7:18
# 文件: test_deom.py
# IDE: PyCharm
from impala.dbapi import connect
from krbcontext import krbcontextif __name__ == '__main__':hostname = '197.255.20.213'port = 21050with krbcontext(using_keytab=True, principal='impala@YJP.COM',keytab_file='/home/keytab/impala.keytab',ccache_file='krb5cc_0'):conn = connect(host=hostname, port=port, auth_mechanism='GSSAPI', kerberos_service_name='impala')cur = conn.cursor()cur.execute("show databases")for row in cur:print(row[0])conn2 = connect(host=hostname, port=port, auth_mechanism='GSSAPI', kerberos_service_name='impala')cur2 = conn.cursor()cur2.execute("select count(*) from yjp_trace.yjp_ods_trace")print(cur2.fetchall())
这篇关于大数据集群票据碰撞问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!