日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kerberos下pyhive使用

發布時間:2023/12/31 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kerberos下pyhive使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在使用DataEngine大數據平臺時,一般集群都是不聯網的,使用pyhive時99%工作都是在安裝相關的python依賴包,并且不同環境上缺少的依賴python包也不太一樣,本篇文章是在DataEngine大數據集群內或客戶端上安裝pyhive,使用python版本為2.7。

本篇文章介紹下如何在離線情況下安裝pyhive。

安裝依賴包

在安裝Pyhiv前需要先安裝如下依賴:

分別對安裝包進行解壓,執行python setup.py install 進行安裝,安裝順序如下:

  • future-0.18.2.tar.gz
  • six-1.16.0.tar.gz
  • setuptools_scm-1.15.0.tar.gz
  • python-dateutil-2.8.0.tar.gz
  • PyHive-0.6.4.tar.gz
  • thrift-0.13.0.tar.gz
  • sasl-0.3.1.tar.gz
  • pure-sasl-0.6.2.tar.gz
  • thrift_sasl-0.4.3.tar.gz
  • ?這些包已經為大家準備好,可以直接在網盤下載,下載鏈接:

    鏈接: https://pan.baidu.com/s/1XFozZU1t5WFgie2HUA-SKA 提取碼: fmmi 復制這段內容后打開百度網盤手機App,操作更方便哦

    如果安裝過程中還提示缺失其他包,那么需要在pypi:PyPI · The Python Package Index?自行下載:

    ?

    執行pyhive測試程序

    準備pyhive測試代碼,當前環境為開啟kerberos,需要在代碼中先執行認證命令,并將keytab替換為自己認證文件和目錄:

    import os from pyhive import hivefrom TCLIService.ttypes import TOperationState #此地方可以忽略,為了獲取執行結果狀態#先進行kerberos認證,keytab及存放路徑和principal修改為具體值 os.system('kinit -kt {}/hadoop.keytab {}'.format('/opt/pyhive/','hadoop')) # 打開hive連接,需要啟動hiveserver2,修改host為集群hiveserver名 hiveConn = hive.connect(host='node1',port=10000,auth='KERBEROS',kerberos_service_name='hive')cursor = hiveConn.cursor()# 執行sql語句cursor.execute('create table if not exists test(id int, name string)', async=False)cursor.execute('insert into test values(1111, "aaaa")', async=False)cursor.execute('select * from test', async=True)# 得到執行語句的狀態status = cursor.poll().operationStateprint "status:",status# 打印結果#print cursor.fetchall()#print cursor.fetchall()for result in cursor.fetchall():print "aaaaa"*20print resultprint "end**" *10# 關閉hive連接cursor.close()hiveConn.close()

    執行python testhive.py:

    安裝過程問題匯總:

    1.? 可能出現can not find setuptools 或者 Requirement.parse('setuptools>=20.5' )異常

    ?刪除python目錄下舊版本setup,rm -rf /usr/lib/python2.7/site-packages/setuptools然后安裝新版本setup:

    unzip?setuptools-41.6.0.zipcd setuptools-41.6.0python setup.py install

    2. 找不到python.h文件

    ??原因一般是python安裝存在問題,重新安裝python-devel即可:
    yum install?python-devel

    ?3. 執行testhive.py文件時出現?no mechanism available: No worthy mechs found

    這種一般由于sasl安裝存在問題,可以安裝cyrus解決:

    rpm -ivh cyrus-sasl-2.1.26-23.el7.i686.rpm
    rpm -ivh cyrus-sasl-2.1.26-23.el7.x86_64.rpm
    rpm -ivh cyrus-sasl-devel-2.1.26-23.el7.i686.rpm
    rpm -ivh cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
    rpm -ivh cyrus-sasl-gssapi-2.1.26-23.el7.i686.rpm
    rpm -ivh cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm
    rpm -ivh cyrus-sasl-lib-2.1.26-23.el7.i686.rpm
    rpm -ivh cyrus-sasl-lib-2.1.26-23.el7.x86_64.rpm
    rpm -ivh cyrus-sasl-plain-2.1.26-23.el7.i686.rpm
    rpm -ivh cyrus-sasl-plain-2.1.26-23.el7.x86_64.rpm
    ?

    總結

    以上是生活随笔為你收集整理的Kerberos下pyhive使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。