2017年6月15日木曜日

HortonWorks ODBCでHIVEServerに接続する設定手順

  • このエントリーをはてなブックマークに追加


HortonWorks ODBCでHIVEServerに接続する設定手順 ODBCでHIVEに接続する手順をメモしておきます。

HortonWorksサイトからODBCドライバーをダウンロード

https://jp.hortonworks.com/downloads/
Hortonworks ODBC Driver for Apache Hive (v2.1.7)

ODBCドライバーをインストール

 $ sudo rpm -ivh hive-odbc-native-2.1.7.1010-1.el6.x86_64.rpm

 インストール先確認
 $ ls /usr/lib/hive/lib/native

.odbc.iniを作成

 $ cd /usr/lib/hive/lib/native/Linux-amd64-64
 $ cat .odbc.ini
 ---------------------------------------------------------------
 [ODBC]

 [ODBC Data Sources]
 HIVE

 [HIVE]
 Driver=/usr/lib/hive/lib/native/Linux-amd64-64/libhortonworkshiveodbc64.so
 #環境ごとに変更
 HOST=srv.example.com
 PORT=10000
 Schema=
 ServiceDiscoveryMode=0
 ZKNamespace=
 HiveServerType=2
 #kerberos認証にするため、AuthMechを1に設定
 AuthMech=1
 ThriftTransport=1
 UseNativeQuery=0
 UID=hue
 #環境ごとに変更
 KrbHostFQDN=srv.example.com
 KrbServiceName=hive
 #環境ごとに変更
 KrbRealm=example.com
 SSL=0
 TwoWaySSL=0
 ClientCert=
 ClientPrivateKey=
 ClientPrivateKeyPassword=
 ---------------------------------------------------------------
 権限変更、しないとエラーが出る可能性があります。
 $ chmod 777 .odbc.ini
サンプルファイルは以下にあります。
 /usr/lib/hive/lib/native/hiveodbc/Setup/odbc.ini

環境変数設定

xport ODBCINI=/usr/lib/hive/lib/native/Linux-amd64-64/.odbc.ini
 or
/etc/profileにexport ODBCINI=/usr/lib/hive/lib/native/Linux-amd64-64/.odbc.ini を追加

参考Kerberos設定

$ cat /etc/krb5.conf
# Configuration snippets may be placed in this directory as well
#includedir /etc/krb5.conf.d/

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = EXAMPLE.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 30d
 renew_lifetime = 7d
 forwardable = true

# for One-Way Trust with Active Directory
 permitted_enctypes   = des-cbc-crc des-cbc-md5 arcfour-hmac aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96
 udp_preference_limit = 1

[realms]
 EXAMPLE.COM = {
  kdc = or
hostname> admin_server = or hostname> } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM

ERROR

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "/tmp/hound/hound/tbx/hoover/_hoover_price.py", line 75, in fetch_hoover_price
    verbose=verbose
  File "/tmp/hound/hound/tbx/odbc/_odbc.py", line 55, in execute
    autocommit=True
pyodbc.Error: ('08001', '[08001] [unixODBC][Hortonworks][ODBC] (10380) Unable to establish a connection with data source. Missing settings: {[Host] [Port]} (10380) (SQLDriverConnect)')
  • 解決
    .odbc.iniファイルの権限を見直す 777にするとか

この記事がお役にたちましたらシェアをお願いします:)

  • このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿