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 件のコメント:

コメントを投稿