3 ビッグ・データを統合する環境の設定

この章では、ビッグ・データの統合のための環境を設定する際に実行する必要があるステップについて説明します。

この章の内容は次のとおりです。

ビッグ・データ構成ウィザードの使用によるビッグ・データ・テクノロジの構成

ビッグ・データ構成ウィザードは、複数のHadoopテクノロジを設定するための単一のエントリ・ポイントを提供します。データ・サーバー、物理スキーマ、論理スキーマの作成、およびHadoopファイル・システムやHDFS、HBase、Oozie、Spark、Hive、Pigといった各種Hadoopテクノロジに対するコンテキストの設定をすばやく実行できます

様々な配置に対するデフォルトのメタデータ(プロパティやホスト名、ポート名など)、および環境変数のデフォルト値があらかじめ入力されています。これにより、これらのテクノロジに対する詳細な知識がなくても、データ・サーバーを物理および論理スキーマとともに簡単に作成できます。

すべてのテクノロジの構成が終わったら、データ・サーバーに対する設定を検証して接続ステータスをテストできます。

注意:

ビッグ・データ構成ウィザードを使用することを望まない場合、後続の項で言及されている情報を使用して手動でビッグ・データ・テクノロジ用にデータ・サーバーを設定できます。

ビッグ・データ構成ウィザードを実行するには、次の手順を実行します。

  1. ODI Studioで、「ファイル」を選択し、「新規...」をクリックします。または

    「トポロジ」タブ→「トポロジ」メニュー→「ビッグ・データ構成」を選択します。

  2. 新規ギャラリ・ダイアログで、「ビッグ・データ構成」を選択して「OK」をクリックします。

    ビッグ・データ構成ウィザードが表示されます。

  3. ウィザードの「一般設定」パネルで、必要なオプションを指定します。

    詳細は、「一般設定」を参照してください。

  4. 「次」をクリックします。

    「一般設定」パネルで選択した各テクノロジに対するデータ・サーバー・パネルが表示されます。

  5. ウィザードの「Hadoop」パネルで、次を実行します。
    • Hadoopデータ・サーバーを作成するのに必要なオプションを指定します。

      詳細は、「Hadoopデータ・サーバーの定義」を参照してください。

    • 「プロパティ」セクションで、「+」アイコンをクリックしてデータ・サーバー・プロパティを追加します。

    • 論理スキーマ、物理スキーマ、およびコンテキストを適切なドロップダウン・リストから選択します。

  6. 「次」をクリックします。
  7. ウィザードの「HDFS」パネルで、次を実行します。
    • HDFSデータ・サーバーを作成するのに必要なオプションを指定します。

      詳細は、「HDFSデータ・サーバーの定義」を参照してください。

    • 「プロパティ」セクションで、「+」アイコンをクリックしてデータ・サーバー・プロパティを追加します。

    • 論理スキーマ、物理スキーマ、およびコンテキストを適切なドロップダウン・リストから選択します。

  8. 「次」をクリックします。
  9. ウィザードの「HBase」パネルで、次を実行します。
    • HBaseデータ・サーバーを作成するのに必要なオプションを指定します。

      詳細は、「HBaseデータ・サーバーの定義」を参照してください。

    • 「プロパティ」セクションで、「+」アイコンをクリックしてデータ・サーバー・プロパティを追加します。

    • 論理スキーマ、物理スキーマ、およびコンテキストを適切なドロップダウン・リストから選択します。

  10. ウィザードの「Spark」パネルで、次を実行します。
    • Sparkデータ・サーバーを作成するのに必要なオプションを指定します。

      詳細は、「Sparkデータ・サーバーの定義」を参照してください。

    • 「プロパティ」セクションで、「+」アイコンをクリックしてデータ・サーバー・プロパティを追加します。

    • 論理スキーマ、物理スキーマ、およびコンテキストを適切なドロップダウン・リストから選択します。

  11. 「次」をクリックします。
  12. ウィザードの「Kafka」パネルで、次を実行します。
    • Kafkaデータ・サーバーを作成するのに必要なオプションを指定します。

      詳細は、「Kafkaデータ・サーバーの定義」を参照してください。

    • 「プロパティ」セクションで、「+」アイコンをクリックしてデータ・サーバー・プロパティを追加します。

    • 論理スキーマ、物理スキーマ、およびコンテキストを適切なドロップダウン・リストから選択します。

  13. 「次」をクリックします。
  14. ウィザードの「Pig」パネルで、次を実行します。
    • Pigデータ・サーバーを作成するのに必要なオプションを指定します。

      詳細は、「Pigデータ・サーバーの定義」を参照してください。

    • 「プロパティ」セクションで、「+」アイコンをクリックしてデータ・サーバー・プロパティを追加します。

    • 論理スキーマ、物理スキーマ、およびコンテキストを適切なドロップダウン・リストから選択します。

  15. 「次」をクリックします。
  16. ウィザードの「Hive」パネルで、次を実行します。
    • Hiveデータ・サーバーを作成するのに必要なオプションを指定します。

      詳細は、「Hiveデータ・サーバーの定義」を参照してください。

    • 「プロパティ」セクションで、「+」アイコンをクリックしてデータ・サーバー・プロパティを追加します。

    • 論理スキーマ、物理スキーマ、およびコンテキストを適切なドロップダウン・リストから選択します。

  17. 「次」をクリックします。
  18. ウィザードの「Oozie」パネルで、次を実行します。
    • Oozieランタイム・エンジンの作成に必要なオプションを指定します。

      詳細は、「Oozieランタイム・エンジン定義」を参照してください。

    • 「プロパティ」セクションで、リストされているデータ・サーバーのプロパティを確認します。

      注意: 新しいプロパティを追加したり、リストされているプロパティを削除することはできません。ただし、必要に応じて、リストされているプロパティの値を変更できます。

      詳細は、「Oozieランタイム・エンジンのプロパティ」を参照してください。

    • 既存の論理エージェントとコンテキストを選択するか、論理エージェントとコンテキストの新しい名前を入力します。

  19. 「次」をクリックします。
  20. 「すべての設定の検証」パネルで、「すべての設定の検証」をクリックして、操作を初期化し、データ・サーバーに対する設定を検証して接続ステータスを確認します。
  21. 「終了」をクリックします。

一般設定

次の表では、ビッグ・データ構成ウィザードの「一般設定」パネルで設定する必要があるオプションについて説明します。

表3-1 一般設定オプション

オプション 説明

接頭辞

接頭辞を指定します。この接頭辞はデータ・サーバー名、論理スキーマ名および物理スキーマ名に関連付けられています。

配布

配布を選択します。「手動」またはCloudera Distribution for Hadoop (CDH) <version>のいずれかです。

ベース・ディレクトリ

CDHのインストール先ディレクトリの場所を指定します。このベース・ディレクトリは、ウィザードの他のすべてのパネルに自動的に移入されます。

注意: このオプションは、配布が「手動」ではない場合にのみ表示されます。

分布タイプ

「標準」または「Kerberos化」のいずれかの配布タイプを選択します。

テクノロジ

構成するテクノロジを選択します。

注意: 選択したテクノロジに対するデータ・サーバー作成パネルのみが表示されます。

HDFSデータ・サーバーの定義

次の表では、HDFSデータ・サーバーを作成する際に指定する必要があるオプションについて説明します。

注意:

HDFSデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

表3-2 HDFSデータ・サーバーの定義

オプション 説明

名前

データ・サーバーの名前を入力します。この名前はOracle Data Integratorに表示されます。

ユーザー/パスワード

現時点では、HDFSにユーザー/パスワードのセキュリティは実装されていません。このオプションは空白のままにします。

Hadoopデータサーバー

HDFSデータ・サーバーに関連付けるHadoopデータ・サーバー。

追加クラスパス

追加のjarファイルが必要な場合はクラスパスに追加します。

HBaseデータ・サーバーの定義

次の表では、HBaseデータ・サーバーを作成する際に指定する必要があるオプションについて説明します。

注意: HBaseデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

表3-3 HBaseデータ・サーバーの定義

オプション 説明

名前

データ・サーバーの名前を入力します。この名前はOracle Data Integratorに表示されます。

HBase定数

hbase-site.xml内のZooKeeper Quorumアドレス。たとえば、localhost:2181

ユーザー/パスワード

現時点では、HBaseにユーザー/パスワードのセキュリティは実装されていません。これらのフィールドは空白のままにします。

Hadoopデータサーバー

HBaseデータ・サーバーに関連付けるHadoopデータ・サーバー。

追加クラスパス

追加するクラス/Jarファイルを指定します。

次のクラスパスのエントリは、「ベース・ディレクトリ」の値によって構築されます。

  • /usr/lib/hbase/*

  • /usr/lib/hbase/lib

Kafkaデータ・サーバーの定義

次の表では、Kafkaデータ・サーバーを作成する際に指定する必要があるオプションについて説明します。

注意:

Kafkaデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

表3-4 Kafkaデータ・サーバーの定義

オプション 説明

名前

データ・サーバーの名前を入力します。

ユーザー/パスワード

ユーザー名とそのパスワード。

Hadoopデータサーバー

Kafkaデータ・サーバーに関連付けるHadoopデータ・サーバー。

KafkaがHadoopサーバーで実行していない場合、Hadoopデータ・サーバーを指定する必要はありません。このオプションは、自分のサーバーでKafkaを実行する場合に有用です。

追加クラスパス

追加するクラス/Jarファイルを指定します。

次のクラスパスのエントリは、「ベース・ディレクトリ」の値によって構築されます。

  • /opt/cloudera/parcels/CDH/lib/kafka/libs/*

必要に応じて、さらに追加のクラスパスを追加できます。

KafkaがHadoopサーバーで実行していない場合、このフィールドにKafkaライブラリの絶対パスを指定します。

注意:

このフィールドは、ビッグ・データ構成ウィザードを使用してKafkaデータ・サーバーを作成する場合にのみ表示されます。

Kafkaデータ・サーバー・プロパティ

次の表では、新しいKafkaデータ・サーバーを作成する場合に「プロパティ」タブで追加する必要があるKafkaデータ・サーバー・プロパティについて説明します。

表3-5 Kafkaデータ・サーバー・プロパティ

キー

metadata.broker.list

Kafkaメタデータ・ブローカのカンマ区切りリストです。それぞれのブローカは、hostname:portによって定義します。ブローカのリストは、server.propertiesファイル内にあります。通常、このファイルは/etc/kafka/confに配置されています。

oracle.odi.prefer.dataserver.packages

トピックおよびメッセージをKafkaサーバーから取得します。アドレスは、scala、kafka、oracle.odi.kafka.client.api.impl、org.apache.log4jです。

security.protocol

ブローカとの通信に使用するプロトコル。有効な値は、PLAINTEXTSSLSASL_PLAINTEXTおよびSASL_SSLです。

zookeeper.connect

ZooKeeper接続文字列をhostname:portの形式で指定します。このホストとポートは、ZooKeeperサーバーのホストとポートです。ZooKeeperマシンが停止したときに別のZooKeeperノードで接続できるようにするために、複数のホストをhostname1:port1,hostname2:port2,hostname3:port3の形式で指定することもできます。

Hadoopデータ・サーバーの作成および初期化

Hadoopデータ・サーバー定義およびプロパティを構成し、Hadoopデータ・サーバーを作成および初期化します。

Hadoopデータ・サーバーを作成および初期化するには、次の手順を実行します。

  1. 「トポロジ」タブをクリックします。
  2. 「物理アーキテクチャ」ツリーの「テクノロジ」で、「Hadoop」を右クリックして「新規データ・サーバー」をクリックします。
  3. 「定義」タブで、Hadoopデータ・サーバーの詳細を指定します。

    詳細は、「Hadoopデータ・サーバーの定義」を参照してください。

  4. 「プロパティ」タブで、Hadoopデータ・サーバーのプロパティを指定します。

    詳細は、「Hadoopデータ・サーバー・プロパティ」を参照してください。

  5. 「初期化」をクリックして、Hadoopデータ・サーバーを初期化します。

    Hadoopデータ・サーバーを初期化すると、ODIマスター・リポジトリおよび作業リポジトリの構造がHDFSに作成されます。

  6. 「テスト接続」をクリックして、Hadoopデータ・サーバーへの接続をテストします。

Hadoopデータ・サーバーの定義

次の表は、新しいHadoopデータ・サーバーを作成する場合に「定義」タブで指定する必要があるフィールドについて説明しています。

注意: Hadoopデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

表3-6 Hadoopデータ・サーバーの定義

フィールド 説明

名前

Oracle Data Integratorに表示されるデータ・サーバーの名前。

データ・サーバー

データ・サーバーの物理名。

ユーザー/パスワード

Hadoopユーザーとそのパスワード。

パスワードを指定しない場合、HDFSおよびOozieのユーザー名を使用した単純な認証のみが実行されます。

認証メソッド

認証方式として、次のいずれかを選択します。

  • 簡易ユーザー名認証(非保護)

  • Kerberosプリンシパル・ユーザー名/パスワード(保護)

  • Kerberos資格(チケット)キャッシュ(保護)

注意:

Hadoopクラスタが保護されているかどうかを判断する際に、次のリンクが役立ちます。

https://www.cloudera.com/documentation/cdh/5-0-x/CDH5-Security-Guide/cdh5sg_hadoop_security_enable.html

HDFSノード名URI

HDFSノード名のURI。

hdfs://localhost:8020

リソース・マネージャ/ジョブ・トラッカURI

「リソース・マネージャまたはジョブ・トラッカのURI。

localhost:8032

ODI HDFSルート

ODI HDFSのルート・ディレクトリのパス。

/user/<login_username>/odi_home.

追加クラスパス

追加クラスパスを指定します。

次の追加クラスパスを追加します。

  • /usr/lib/hadoop/*

  • /usr/lib/hadoop/client/*

  • /usr/lib/hadoop/lib/*

  • /usr/lib/hadoop-hdfs/*

  • /usr/lib/hadoop-mapreduce/*

  • /usr/lib/hadoop-yarn/*

  • /usr/lib/hbase/lib/*

  • /usr/lib/hive/lib/*

  • /usr/lib/oozie/lib/*

  • /etc/hadoop/conf/

  • /etc/hbase/conf

  • /etc/hive/conf

  • /opt/oracle/orahdfs/jlib/*

Hadoopデータ・サーバー・プロパティ

次の表は、新しいHadoopデータ・サーバーを定義する場合に「プロパティ」タブで構成可能なプロパティについて説明しています。

注意:

デフォルトでは、oracle.odi.prefer.dataserver.packagesプロパティのみが表示されます。手動で別のプロパティを追加する場合は、「+」アイコンをクリックします。

これらのプロパティは、HiveやHDFSといった別のHadoopテクノロジによる継承が可能です。これらのプロパティを継承するには、他のHadoopテクノロジのデータ・サーバーを作成する際に、この構成済のHadoopデータ・サーバーを選択する必要があります。

表3-7 HadoopおよびHiveに必須のHadoopデータ・サーバー・プロパティ

プロパティ・グループ プロパティ 説明/値

一般

HADOOP_HOME

Hadoopディレクトリの場所。例: /usr/lib/hadoop

ユーザー定義

HADOOP_CONF

Hadoop構成ファイル(core-default.xml、core-site.xml、hdfs-site.xmlなど)の場所。例: /home/shared/hadoop-conf

Hive

HIVE_HOME

Hiveディレクトリの場所。例: /usr/lib/hive

ユーザー定義

HIVE_CONF

Hive構成ファイル(hive-site.xmlなど)の場所。例: /home/shared/hive-conf

一般

HADOOP_CLASSPATH

$HIVE_HOME/lib/hive-metastore-*.jar:$HIVE_HOME/lib/libthrift-*.jar:$HIVE_HOME/lib/libfb*.jar:$HIVE_HOME/lib/hive-exec-*.jar:$HIVE_CONF

一般

HADOOP_CLIENT_OPTS

-Dlog4j.debug -Dhadoop.root.logger=INFO,console -Dlog4j.configuration=file:/etc/hadoop/conf.cloudera.yarn/log4j.properties

Hive

HIVE_SESSION_JARS

$HIVE_HOME/lib/hive-contrib-*.jar:<ODI library directory>/wlhive.jar

  • wlhive.jarの実際のパスは、ODIインストールのホームで決定できます。

  • 必要に応じて、他のJARファイル(カスタムSerDes JARファイルなど)を含めます。これらのJARファイルは各Hive JDBCセッションに追加され、それによって各Hive MapReduceジョブに追加されます。

  • JARのリストは":"で区切られ、ファイル名のワイルドカードを複数のファイルに評価することはできません。

  • Apache SentryなどのHadoopセキュリティ・モデルに関するステップに従って、ODI Hive KM内で使用されるHive ADD JARコールを許可します。
    • 環境変数HIVE_SESSION_JARSを空として定義します。

    • Hiveグローバル構成のhive-site.xmlで、Hiveに必要なJARをすべて追加します。

表3-8 (HadoopおよびHiveの基本プロパティ以外の) HBaseに必須のHadoopデータ・サーバー・プロパティ

プロパティ・グループ プロパティ 説明/値

HBase

HBASE_HOME

HBaseディレクトリの場所。例: /usr/lib/hbase

一般

HADOOP_CLASSPATH

$HBASE_HOME/lib/hbase-*.jar:$HIVE_HOME/lib/hive-hbase-handler*.jar:$HBASE_HOME/hbase.jar

Hive

HIVE_SESSION_JARS

$HBASE_HOME/hbase.jar:$HBASE_HOME/lib/hbase-sep-api-*.jar:$HBASE_HOME/lib/hbase-sep-impl-*hbase*.jar:/$HBASE_HOME/lib/hbase-sep-impl-common-*.jar:/$HBASE_HOME/lib/hbase-sep-tools-*.jar:$HIVE_HOME/lib/hive-hbase-handler-*.jar

注意:

Apache SentryなどのHadoopセキュリティ・モデルに関するステップに従って、ODI Hive KM内で使用されるHive ADD JARコールを許可します。
  • 環境変数HIVE_SESSION_JARSを空として定義します。

  • Hiveグローバル構成のhive-site.xmlで、Hiveに必要なJARをすべて追加します。

表3-9 (HadoopおよびHiveの基本プロパティ以外の) Oracle Loader for Hadoopに必須のHadoopデータ・サーバー・プロパティ

プロパティ・グループ プロパティ 説明/値

OLH/OSCH

OLH_HOME

OLHインストールの場所。例: /u01/connectors/olh

OLH/OSCH

OLH_FILES

usr/lib/hive/lib/hive-contrib-1.1.0-cdh5.5.1.jar

OLH/OSCH

ODCH_HOME

OSCHインストールの場所。例: /u01/connectors/osch

一般

HADOOP_CLASSPATH

$OLH_HOME/jlib/*:$OSCH_HOME/jlib/*

OLH/OSCH

OLH_JARS

Oracle Loader for Hadoopで使用されるカスタム入力形式、Hive、Hive SerDesなどに必要なすべてのJARファイルのカンマ区切りリスト。すべてのファイル名をワイルドカードなしで展開する必要があります。

次に例を示します。

$HIVE_HOME/lib/hive-metastore-0.10.0-cdh4.5.0.jar,$HIVE_HOME/lib/libthrift-0.9.0-cdh4-1.jar,$HIVE_HOME/lib/libfb303-0.9.0.jar

OLH/OSCH

OLH_SHAREDLIBS (非推奨)

$OLH_HOME/lib/libolh12.so,$OLH_HOME/lib/libclntsh.so.12.1,$OLH_HOME/lib/libnnz12.so,$OLH_HOME/lib/libociei.so,$OLH_HOME/lib/libclntshcore.so.12.1,$OLH_HOME/lib/libons.so

表3-10 (HadoopおよびHiveの基本プロパティ以外の) SQOOPに必須のHadoopデータ・サーバー・プロパティ

プロパティ・グループ プロパティ 説明/値

SQOOP

SQOOP_HOME

Sqoopディレクトリの場所。例: /usr/lib/sqoop

SQOOP

SQOOP_LIBJARS

SQOOPライブラリjarの場所。たとえば、usr/lib/hive/lib/hive-contrib.jar

Hadoopデータ・サーバーの作成および初期化

Hadoop物理スキーマの作成

Hadoopの物理スキーマを作成するには、最初に、標準の手順で、同じHadoopの論理スキーマを作成します。

Hadoop物理スキーマは、『Oracle Data Integratorの管理』物理スキーマの作成に関する項で説明するように、標準の手順を使用して作成します。

この物理スキーマの論理スキーマは、『Oracle Data Integratorの管理』論理スキーマの作成に関する項で説明するように標準の手順を使用して作成して、そのスキーマを特定のコンテキストで関連付けます。

Hadoopジョブを実行するためのOracle Data Integratorエージェントの構成

Hadoopジョブを実行するには、Oracle Data Integratorエージェントを構成する必要があります。

物理エージェントの作成に関する詳細は、『Oracle Data Integratorの管理』物理エージェントの作成に関する項を参照してください。

Oracle Data Integratorエージェントを設定する手順は次のとおりです。

  1. HadoopクラスタのノードのいずれにもODIエージェントがインストールされていない場合は、そのコンピュータにHadoopクライアント・ライブラリをインストールする必要があります。

    Oracle Big Data ApplianceのリモートHadoopクライアントをセットアップする手順については、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』CDHへのリモート・クライアント・アクセスの提供に関する項を参照してください。

  2. HiveをOracle Data Integratorエージェント・コンピュータにインストールします。
  3. SQOOPをOracle Data Integratorエージェント・コンピュータにインストールします。
  4. ODIエージェント・コンピュータで、HadoopおよびHiveの基本プロパティを設定します。

    これらのプロパティはHadoopデータ・サーバー・プロパティとして追加する必要があります。詳細は、「Hadoopデータ・サーバー・プロパティ」を参照してください。

  5. HBase機能を使用する場合は、ODIエージェント・コンピュータでプロパティを設定します。HadoopおよびHiveの基本プロパティに加えて、これらのプロパティも設定する必要があります。

    これらのプロパティはHadoopデータ・サーバー・プロパティとして追加する必要があります。詳細は、「Hadoopデータ・サーバー・プロパティ」を参照してください。

Oracle Loader for Hadoopの構成

Oracle Loader for Hadoopを使用するには、Oracle Data Integratorエージェント・コンピュータにOracle Loader for Hadoopをインストールして構成する必要があります。

Oracle Loader for Hadoopは、HadoopクラスタからOracleデータベースの表にデータを高速にロードするための効率的で高性能なローダーです。

Oracle Loader for Hadoopをインストールして構成するには、次の手順を実行します。

  1. Oracle Loader for HadoopをOracle Data Integratorエージェント・コンピュータにインストールします。

    『Oracle Big Data Connectorsユーザーズ・ガイド』Oracle Loader for Hadoopのインストールに関する項を参照してください。

  2. Oracle SQL Connector for HDFS (OLH_OUTPUT_MODE=DP_OSCHまたはOSCH)を使用するには、まずこれをインストールする必要があります。

    『Oracle Big Data Connectorsユーザーズ・ガイド』Oracle SQL Connector for Hadoop Distributed File Systemの設定に関する項を参照してください。

  3. ODIエージェント・コンピュータでOracle Loader for Hadoopのプロパティを設定します。HadoopおよびHiveの基本プロパティに加えて、これらのプロパティも設定する必要があります。

    これらのプロパティはHadoopデータ・サーバー・プロパティとして追加する必要があります。詳細は、「Hadoopデータ・サーバー・プロパティ」を参照してください。

保護されたクラスタに接続するためのOracle Data Integratorの構成

Kerberos認証で保護されるHadoopクラスタでOracle Data Integratorエージェントを実行するには、Kerberos保護クラスタを構成する必要があります。

Kerberos保護クラスタの使用手順:

  1. Oracle Data Integratorエージェントが実行しているOracle Big Data Applianceのノードにログインします。
  2. 次のコマンドラインを使用して、環境変数を設定します。次の例では、ユーザー名はoracleです。使用する製品に合せて適切な値を代入します。

    $ export KRB5CCNAME=Kerberos-ticket-cache-directory

    $ export KRB5_CONFIG=Kerberos-configuration-file

    $ export HADOOP_OPTS="$HADOOP_OPTS -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal. jaxp.DocumentBuilderFactoryImpl -Djava.security.krb5.conf=Kerberos-configuration-file"

    この例では、構成ファイルの名前はkrb5*で、/tmp/oracle_krb/にあります。

    $ export KRB5CCNAME=/tmp/oracle_krb/krb5cc_1000

    $ export KRB5_CONFIG=/tmp/oracle_krb/krb5.conf

    $ export HADOOP_OPTS="$HADOOP_OPTS -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal. jaxp.DocumentBuilderFactoryImpl -Djava.security.krb5.conf=/tmp/oracle_krb/krb5.conf"

  3. oracleユーザーの新しいKerberosチケットを作成します。次のコマンドを使用して、レルムをKerberosの実際のレルム名に置き換えます。

    $ kinit oracle@realm

  4. ODI Studio: ODI Studio用のVMを設定するには、odi.shと同じフォルダ内のodi.confにAddVMoptionを追加します。
    Kerberos構成ファイルの場所は、次のとおりです。
    AddVMOption -Djava.security.krb5.conf=/etc/krb5.conf
    AddVMOption -Dsun.security.krb5.debug=true 
    AddVMOption -Dsun.security.krb5.principal=odidemo

  5. 次のような構文を使用して、JDBC接続URLを再定義します。

    表3-11 データサーバー用のKerberos構成ファイル

    テクノロジ 構成
    Hadoop 特別な構成は行わず、一般設定で十分です。  
    Hive $MW_HOME/oracle_common/modules/datadirect/JDBCDriverLogin.conf

    ODI Studioの構成:

    bin/odi.confファイルに、次のコンテンツを追加します。

    AddVMOption -Djava.security.auth.login.config=<ORACLE_HOME>/oracle_common/modules/datadirect/JDBCDriverLogin.conf

    ODI J2EEエージェント構成:

    <DOMAIN_HOME>/bin/setDomainEnv.shファイルに、次のコンテンツを追加します。

    export KRB5_CONFIG=/etc/krb5.conf
    export KRB5CCNAME=/tmp/krb5cc_500
    export ODI_ADDITIONAL_JAVA_OPTIONS="-Djava.security.krb5.conf=/etc/krb5.conf
    -Djava.security.auth.login.config=/scratch/Oracle/Middleware/Oracle_Home/oracle_common/modules/datadirect/JDBCDriverLogin.conf
    -Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
    -Djava.security.krb5.realm=SHARED.BDA.COM
    -Djava.security.krb5.kdc=scaj43bda05.us.oracle.com:88
    -Djavax.security.auth.useSubjectCredsOnly=false"
    
    JAVA_PROPERTIES="${JAVA_PROPERTIES} ${WLP_JAVA_PROPERTIES}
    ${ODI_ADDITIONAL_JAVA_OPTIONS}"
    export JAVA_PROPERTIES
    
    JAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES}"
    export JAVA_OPTIONS
    構成ファイルの例
    JDBC_DRIVER_01 {
    com.sun.security.auth.module.Krb5LoginModule required
    debug=true
    useTicketCache=true
    ticketCache="/tmp/krb5cc_500"
    doNotPrompt=true
    ;
    };

    Hive URLの例

    jdbc:weblogic:hive://<hostname>:10000;DatabaseName=default;AuthenticationMethod=kerberos;ServicePrincipalName=<username>/<fully.qualified.domain.name>@<YOUR-REALM>.COM

    HBase
    export HBASE_HOME=/scratch/fully.qualified.domain.name/etc/hbase/conf       
    export HBASE_CONF_DIR = $HBASE_HOME/conf       
    export HBASE_OPTS ="-Djava.security.auth.login.config=$HBASE_CONF_DIR/hbase-client.jaas"
    export HBASE_MASTER_OPTS ="-Djava.security.auth.login.config=$HBASE_CONF_DIR/hbase-server.jaas"

    ODI Studioの構成:

    AddVMOption -Djava.security.auth.login.config=$HBASE_CONF_DIR/hbase-client.jaas"

    Hbase構成ファイルの例:
    hbase-client.jaas
    Client {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=false
    useTicketCache=true;
    };
    
    Spark
    Spark Kerberosの構成は、Spark発行パラメータを使用して行います。
    --principal // define principle name 
    --keytab	 // location of keytab file 

    Spark発行コマンドの例:

    spark-submit --master yarn --py-files  /tmp/pyspark_ext.py --executor-memory 1G --driver-memory 512M --executor-cores 1 --driver-cores 1 --num-executors 2 --principal fully.qualified.domain.name@YOUR-REALM.com --keytab /tmp/fully.qualified.domain.name.tab --queue default /tmp/New_Mapping_Physical.py
    Kafka

    Kafka Kerberosの構成は、kafka-client.jaasファイルを使用して行います。この構成ファイルは、Kafka構成フォルダにあります。

    Kafka構成ファイルの例:

    KafkaClient {
     com.sun.security.auth.module.Krb5LoginModule required
     useKeyTab=false
     useTicketCache=true
     ticketCache="/tmp/krb5cc_1500"
     serviceName="kafka";
    };

    Kafka構成ファイルの場所は、ODI Studio VMオプションで設定します。

    AddVMOption -Djava.security.auth.login.config="/etc/kafka-jaas.conf"

    Pig/Oozie PigおよびOoizeは、リンクされたHadoopデータ・サーバーのKerberos構成を拡張するため、特別な構成は必要ありません。  

    これらのプロパティと設定の詳細は、次のURLにある『CDH5 Security Guide』の「HiveServer2 Security Configuration」を参照してください。

    https://www.cloudera.com/documentation/cdh/5-0-x/CDH5-Security-Guide/cdh5sg_hiveserver2_security.html

  6. サービスの混乱を防ぐため、OracleユーザーのKerberosチケットを定期的に更新します。
  7. JCE Unlimited StrengthのセキュリティJARをダウンロードします。

    Oracle Big Data ApplianceでKerberos管理する手順の詳細は、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』Kerberosで保護されたクラスタへのアクセスに関する項を参照してください。

ローカル・エージェントでHadoopジョブを実行するためのOracle Data Integrator Studioの構成

次の構成ステップを実行し、Oracle Data Integrator Studioのローカル・エージェントでHadoopジョブを実行します。

Oracle Data Integrator Studioインストールのローカル・エージェントでHadoopジョブを実行するには、「Hadoopジョブを実行するためのOracle Data Integratorエージェントの構成」の設定ステップを実行します。そのステップに、次の変更を加えます。

次のHadoopクライアントJarファイルをローカル・マシンにコピーします。

/usr/lib/hadoop/*.jar
/usr/lib/hadoop/lib/*.jar 
/usr/lib/hadoop/client/*.jar 
/usr/lib/hadoop-hdfs/*.jar 
/usr/lib/hadoop-mapreduce/*.jar 
/usr/lib/hadoop-yarn/*.jar 
/usr/lib/oozie/lib/*.jar 
/usr/lib/hive/*.jar 
/usr/lib/hive/lib/*.jar 
/usr/lib/hbase/*.jar 
/usr/lib/hbase/lib/*.jar

前述のクラスパスをuserlibディレクトリのadditional_path.txtファイルに追加します。

次に例を示します。

Linux: $USER_HOME/.odi/oracledi/userlibディレクトリ。

Windows: C:\Users\<USERNAME>\AppData\Roaming\odi\oracledi\userlibディレクトリ