Kerberos環境で、HiveアクションでOozieワークフローのクレデンシャル

Published on 02 April 2014 in Oozie / Security / Tutorial / Video - 2 minutes read

原文はこちら

Hive (あるいは Pig, HBase) を用いてHadoopセキュリティとジョブのスケジューリングを使用する際、このエラーを受け取ったかもしれません:

Caused by: MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: GSS initiate failed

実際に、Kerberosが有効になっている場合、HiveのメタストアサーバにOozieのHiveアクションを使用するために、ワークフローでHCatalogのクレデンシャルを使用する必要があります。

これはKerberos化されたクラスタとMySql Hiveメタストアで、それがどのように動作するかを示しているデモです。HCatクレデンシャルを必要とするテーブルの一覧と操作を行うHiveスクリプトを作成します。ここから全ての使用と設定について探してみて下さい。

Hueは、ワークフローのアクションで必要なクレデンシャルをチェックして自動的にパラメータを満たし、以下を行います:

  • クラスタから利用可能なクレデンシャルの詳細を動的に引き出す
  • ワークフローでクレデンシャルを設定

その後、Hiveアクションの高度なプロパティでHCatのクレデンシャルにチェックすることを忘れないで下さい。必要がある場合は複数のクレデンシャルをチェックできます。

そう、これだけです!ワークフローをサブミットして出力を確認すると、テーブルの一覧と2番目のクエリの計算結果が表示されます!

いつものように、hue-userリスト、または@gethueまでお気軽にコメントして下さい!

:

HiveはJDBCを介して直接メタストアに、あるいは保護をバイパスしてアクセスするべきではありません。

hive-config.xmlでは、この種類の設定の代わりに、:

javax.jdo.option.ConnectionURL
    jdbc:mysql://hue.com:3306/hive1?useUnicode=true&characterEncoding=UTF-8
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
hive1
javax.jdo.option.ConnectionPassword
hive1

これを使用します:

hive.metastore.local
false
hive.metastore.uris
    thrift://hue.com:9083
hive.metastore.sasl.enabled
true

:

ジョブがMySQLに接続しようとする際、このJarの問題に遭遇するかもしれません:

Caused by: org.datanucleus.store.rdbms.datasource.DatastoreDriverNotFoundException: The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.

これを解決するにはhttp://dev.mysql.com/downloads/connector/j/から単純にMySQLのコネクタをダウンロードして、HiveServer2が示すようにします:

hive.aux.jars.path
  file:///usr/share/java//mysql-connector-java.jar

:

Oozie自身でクレデンシャルをアクティベートするには、oozie-site.xmlでこのプロパティを更新します。

 oozie.credentials.credentialclasses

    hcat=org.apache.oozie.action.hadoop.HCatCredentials,
    hbase=org.apache.oozie.action.hadoop.HbaseCredentials


comments powered by Disqus

More recent stories

10 June 2021
Hue4.10(新しいSQLエディタコンポーネント、REST API、小さなファイルのインポート、Slackアプリなど)がリリースされました!
Read More
29 May 2021
Sqlスクラッチパッドコンポーネントとパブリック REST API を使用して、5 分で独自の SQL エディター (BYOE) を構築する
Read More
26 May 2021
改善されたHueのImporter -- ファイルの選択、方言の選択、テーブルの作成
Read More