python通过kerberos连接impala操作hive

2023-05-16

一、python2版本

1. docker基础镜像

tobyhferguson/impyla_tester

2. 安装相关包及配置

2.1 安装包

参考python3.6.5基于kerberos认证的hive和hdfs连接调用

yum install libsasl2-dev
yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64
yum install python-devel   
yum install krb5-devel
yum install python-krbV

pip install krbcontext==0.9
pip install thrift==0.9.3
pip install thrift-sasl==0.2.1
pip install impyla==0.14.1
pip install hdfs[kerberos]
pip install pykerberos==1.2.1

可能中间有些失败或pip升级的问题,再次安装就行了(比如使用yum安装包的时候明明安装了krb5-devel,使用pip安装包的时候还是遇到gssapi.h找不到的问题,重新安装krb5-devel)

2.2 配置krb5.conf

安装了kerberos相关的包,/etc下面有个krb5.conf文件,换成自己集群的krb5.conf文件

2.3 配置/etc/hosts

将主机和ip的映射信息加入/etc/hosts

最后使用docker commit生成镜像

3. 连接hive的示例代码:

from krbcontext import krbcontext
from impala.dbapi import connect

with krbcontext(using_keytab=True,
                principal='b_l.a.w/dev@NODE.SXX.TXX',
                keytab_file='/root/l.a.w.keytab'):
    conn = connect(host='node5.sxx.txx',
                        port=21050,
                        database='xx_rz_demo',
                        auth_mechanism= 'GSSAPI',
                        kerberos_service_name='impala')

    query="show tables"
    cur = conn.cursor()
    cur.execute(query)
    res = cur.fetchall()
    print(res)

二、python3版本

1. docker基础镜像

docker pull ksatjp/py36centos:7

2. 安装相关包及配置

和上面的一样,但是pip换成pip3.6

3. 示例代码

同上,可能报错:

thriftpy.transport.TTransportException: TTransportException(type=1, message="Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found'")

参考:Python连接hive报错Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available,安装sasl相关的包可解决:

yum install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi  cyrus-sasl-md5

三、相关链接

  • python3.6.5基于kerberos认证的hive和hdfs连接调用
  • python3.6如何连接hive?
  • gssapi/gssapi.h: No such file or directory
  • python连接hive配置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python通过kerberos连接impala操作hive 的相关文章

随机推荐

  • FreeRTOS之按键中断实验

    1 创建任务和二值信号量 span class token macro property span class token directive hash span span class token directive keyword inc
  • FreeRTOS之串口中断接收实验

    1 创建任务和消息队列 span class token macro property span class token directive hash span span class token directive keyword defi
  • linux下用Kazam录屏视频在windows不能播放解决

    描述 之前在ubuntu上记录一些东西 xff0c 但是转而在windows就不能播放 xff0c 查了一下资料说是解码器的问题 大概也有网友遇到类似问题 xff0c 那就分享一下吧 xff01 解决 windows上下载安装软件HandB
  • 位姿估计_1

    说在前面的话 位姿估计 xff08 Pose estimation xff09 在计算机视觉领域扮演着十分重要的角色 在使用视觉传感器估计机器人位姿进行控制 机器人导航 增强现实以及其它方面都有着极大的应用 位姿估计这一过程的基础是找到现实
  • 编译osgearth过程中遇到的问题

    1 关于libxxx so no version information available 的解决办法 删除软链接并建立新链接 2 gdal库编译不过 xff0c 报错undefined symbol sqlite3 column tab
  • 基于加速度计与气压计的三阶卡尔曼滤波计算加速度、速度及高度

    本文主要介绍了卡尔曼滤波器的使用原理 xff0c 给出了matlab代码 xff0c 并在STM32F407平台对卡尔曼滤波器进行了验证 xff0c 传感器为MPU6050与DPS310 xff0c 测试结果令人满意 xff0c 速度与高度
  • Ubuntu18.04基于ROS和PX4的仿真平台配置

    1 前言 作者只是一名双非本科院校飞控专业的大二学生 xff0c 想以此记录一下自学飞控的经历 xff0c 也希望能给刚刚入门的同学一些微薄的帮助 这个环境的安装可以说是西天取经一般 xff0c 但安装完后发现如果有领路的人 xff0c 其
  • ubuntu下通过浏览器下载软件包的路径及×××.tar.xz包的安装(1)

    ubuntu下大家一般都会通过软件下载中心安装 xff0c 而软件中心下载的软件一般在 var cache apt archives这个路径下 xff0c 当然一般软件中心对给你安装好 xff0c 所以该路径下的文件名是 deb的文件 同时
  • 基于AWSIM实现Autoware docker内仿真运行

    AWSIM是Autoware当前推荐使用的仿真工具 xff0c 内部采用ros2 for unity插件 xff0c 能够直接发送ros2消息而不同采用中间转接模块 xff0c 效率较高 进行软件开发时各种依赖包的版本管理是让人头疼的问题
  • 关于Apollo Cyber RT 中Component如何绑定到CPU Group、具体线程及优先级队列

    Apollo Scheduler 模块的工作原理如下图所示 xff1a 原图引用链接 xff1a 架构分析 Apollo CyberRT Framework分析 Scheduler调度器 HaoBBNuanMM的博客 CSDN博客 cybe
  • FreeRTOS任务相关基础知识

    一 单任务系统和多任务系统 单任务系统一般为裸机系统 xff0c while 1 做一个大循环 xff0c 也包含一些中断 xff0c 完成所有的程序逻辑处理 如果应用程序需求繁多 xff0c 程序设计复杂 xff0c 应考虑多任务系统 多
  • FreeRTOS任务切换——PendSV

    前言 xff1a 本文分析一下FreeRTOS任务切换相关内容 RTOS系统的核心是进行任务管理 xff0c 任务切换 本文分SVC和PendSV异常 任务切换场景 pendSV中断函数 FreeRTOS时间片调度4部分讲解FreeRTOS
  • ROS:OpenCV读取摄像头并发布话题

    ROS OpenCV读取本地照片发布到rviz中 ROS读取摄像头视频数据发布到rviz中 include lt ros ros h gt include lt image transport image transport h gt in
  • 一种动态更新flink任务配置的方法

    文章目录 1 原理2 例 xff0c 整数过滤2 1 并行度为12 2 并行度大于12 3 完整代码 参考链接 1 原理 参考Flink Spark 如何实现动态更新作业配置 xff0c 讲得比较详细 xff0c 这篇的文章的参考参考文献也
  • 一种Hudi on Flink动态同步元数据变化的方法

    文章目录 一 背景二 官方Schema Evolution例子三 Flink 43 Hudi实现Schema Evolution四 96 HoodieFlinkStreamer 96 流程浅析及扩展方法4 1 FlinkKafkaConsu
  • 一种处理Hive元数据与文件类型不同时SQL查询失败的方法

    文章目录 一 背景二 分析过程2 1 环境及测试数据2 1 1 环境2 1 2 测试数据 2 2 select语句异常分析2 2 1 异常分析2 2 2 捕获异常位置 2 3 insert overwrite语句异常分析2 3 1 异常分析
  • 一种处理Hive元数据与文件类型不同时SQL查询失败的方法(二)

    文章目录 一 异常触发SQL二 异常处理三 Hive on Spark依赖的Hive jar包部署 继上一篇之后 xff0c 又发现了一种新的报错位置 本篇对这种情况进行处理 xff0c 并验证这种处理方式是否适用于Hive on Spar
  • PX4代码CMakeLists.txt的简单解读

    分析一下PX4代码CMakeLists txt文件 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 6
  • Hive分区表修改(增删)列

    文章目录 一 环境及测试数据二 删除列2 1 测试表test22 2 DDL删除列 xff1f 2 3 代码连接Hive Metastore删除列2 3 1 同时更新表与分区元数据 三 添加列结论参考链接 一 环境及测试数据 环境 xff1
  • python通过kerberos连接impala操作hive

    一 python2版本 1 docker基础镜像 tobyhferguson impyla tester 2 安装相关包及配置 2 1 安装包 参考python3 6 5基于kerberos认证的hive和hdfs连接调用 yum span