主コンテンツへ
Oracle® Big Data Connectorsユーザーズ・ガイド
リリース4 (4.5)
E67095-01
目次へ移動
目次
索引へ移動
索引

前
次

1 Oracle Big Data Connectorsを使用する前に

この章では、Oracle Big Data Connectorsについて説明し、インストール手順を示します。

この章は次の項で構成されています:

1.1 Oracle Big Data Connectorsについて

Oracle Big Data Connectorsを使用すると、Apache Hadoopクラスタに格納されているデータへのアクセスが簡単になります。Oracle Big Data Applianceまたはコモディティ・ハードウェア上で稼働するHadoopクラスタでの使用に対してライセンス供与されます。

次のコネクタがあります。

  • Oracle SQL Connector for Hadoop Distributed File System (旧Oracle Direct Connector for HDFS): Oracle外部表は、Hadoop Distributed File System (HDFS)ファイルまたはApache Hiveの表に格納されているデータにアクセスできます。データをHDFSまたはHive表に保持することも、Oracle Databaseにロードすることもできます。

  • Oracle Loader for Hadoop: HadoopクラスタからOracle Databaseの表にデータをすばやく移動するための効率的でパフォーマンスのよいローダーを提供します。Oracle Loader for Hadoopは、必要に応じてデータを事前にパーティション化し、そのデータをデータベース対応形式に変換します。また、データのロードや出力ファイルの作成の前に主キーまたはユーザー定義の列でレコードを任意にソートします。

  • Oracle XQuery for Hadoop: XQuery言語で表された変換を一連のMapReduceジョブに解釈して実行します(これらのジョブはHadoopクラスタ上で並列で実行されます)。入力データは、Hadoop Distributed File System (HDFS)など、Hadoopのファイル・システムAPIを介してアクセス可能なファイル・システムに配置するか、Oracle NoSQL Databaseに格納できます。Oracle XQuery for Hadoopでは、変換結果をHDFS、Oracle NoSQL Database、Apache SolrまたはOracle Databaseに書き込むことができます。追加のXML処理機能は、XML Extensions for Hiveを通じて提供されます。

  • Oracle R Advanced Analytics for Hadoop: 汎用計算フレームワークを提供します。このフレームワークでは、R言語を使用してカスタム・ロジックをマッパーまたはレデューサとして作成できます。Rパッケージのコレクションにより、MapReduceジョブとして実行される予測分析法が提供されます。コードは、Hadoopクラスタで使用可能な計算リソースとストレージ・リソースを使用する分散並列方式で実行されます。Oracle R Advanced Analytics for Hadoopには、Apache Hive表、Apache Hadoop計算インフラストラクチャ、ローカルR環境およびOracleデータベース表を操作するインタフェースが組み込まれています。

  • Oracle Data Integrator: ファイルおよびデータベースなどのソースからHadoopに、またはHadoopからOracleやその他のサードパーティ・データベースに、データを抽出、ロードおよび変換します。Oracle Data Integratorは、ネイティブなHadoopツールを使用するグラフィカルなユーザー・インタフェースおよびHive、HBase、Sqoop、Oracle Loader for HadoopおよびOracle SQL Connector for Hadoop Distributed File Systemなどの変換エンジンを提供します。

それぞれのコネクタでは、Oracle Databaseと、Hadoopクラスタまたはクラスタに対してHadoopクライアントとして設定した外部システムにソフトウェア・コンポーネントをインストールする必要があります。Oracle Databaseでの追加のアクセス権限が必要な場合もあります。Oracle Database and Apache Hadoopとの統合の詳細は、動作保証マトリックスを参照してください。

関連項目:

My Oracle Support情報センター: Big Data Connectors (ID 1487399.2)およびその関連情報センター

1.2 ビッグ・データの概念とテクノロジ

エンタープライズでは、複数のソースから生じる大量のデータを参照します。分析した場合にエンタープライズにとってきわめて大きな価値となる膨大な量のデータのほんの一例として、Webログのクリックストリーム・データ、GPS追跡情報、小売事業のデータ、センサー・データおよびマルチメディア・ストリームなどがあります。生のデータ・フィードから取得する非構造化および半構造化情報は、それ自体ほとんど価値はありません。実際に価値のある情報を抽出するには、データを処理する必要があります。処理されたデータは、その後データベースに格納して管理できます。このデータをデータベースの構造化データと一緒に分析することで、新たな理解が得られ、実質的なビジネス利益につながります。

1.2.1 MapReduceとは

MapReduceは、分散システムでデータを処理するための並列プログラミング・モデルです。大量のデータを迅速に処理し、線形的に拡張できます。特に、非構造化データおよび半構造化データのバッチ処理のメカニズムとして効果的です。MapReduceは、比較的下位の操作を一連のキーと値を通じて計算に抽象化します。

MapReduceジョブを簡単に定義すると、2つのフェーズ(マップ・フェーズとリデュース・フェーズ)が連続的に交代する操作になります。各マップ・フェーズは、入力データの各レコードに変換機能を適用して、キーと値のペアで表現される一連のレコードを作成します。マップ・フェーズからの出力は、リデュース・フェーズへの入力になります。リデュース・フェーズでは、マップ出力レコードはキーと値のセットにソートされるため、セット内のすべてのレコードのキーの値が同じになります。リデューサ関数がセット内のすべてのレコードに適用され、一連の出力レコードがキーと値のペアで作成されます。マップ・フェーズは、各レコードに対して論理的に並列で実行され、リデュース・フェーズは、すべてのキーの値に対して並列で実行されます。

注意:

Oracle Big Data Connectors 3.0以降は、MapReduceのYet Another Resource Negotiator (YARN)実装をサポートしています。

1.2.2 Apache Hadoopとは

Apache Hadoopは、MapReduceプログラミング・モデルに基づく、データ処理ジョブの開発およびデプロイ用ソフトウェア・フレームワークです。中核機能として、Hadoopは、信頼できる共有ストレージおよび分析システム1を提供します。分析はMapReduceによって行われます。ストレージは、MapReduceジョブ向けに設計された共有ストレージ・システムであるHadoop Distributed File System (HDFS)によって行われます。

Hadoopエコシステムには、その他にApache Avro (Oracle Loader for Hadoopで使用されるデータ・シリアライズ・システム)などのプロジェクトが複数含まれています。

Cloudera's Distribution including Apache Hadoop (CDH)は、Oracle Big Data Applianceにインストールされます。この章の設定手順で説明されているように、CDHまたは同等のApache Hadoopコンポーネントが稼働するHadoopクラスタでOracle Big Data Connectorsを使用できます。

関連項目:

  • Hadoopテクノロジに関する概念上の情報については、次のサードパーティの公開内容を参照してください。

    『Hadoop: The Definitive Guide, Third Edition』Tom White著(O'Reilly Media Inc., 2012, ISBN: 978-1449311520)。

  • Cloudera's Distribution including Apache Hadoop (CDH5)の詳細は、Oracle Clouderaの次のWebサイトを参照してください

    http://oracle.cloudera.com/

  • Apache Hadoopの詳細は、次のWebサイトを参照してください

    http://hadoop.apache.org/

1.3 Oracle Big Data Connectorsソフトウェアのダウンロード

Oracle Big Data Connectorsは、Oracle Technology NetworkまたはOracle Software Delivery Cloudからダウンロードできます。Oracle Software Delivery Cloudには、Oracle Big Data Connectorsのメジャー・リリース用のダウンロードしかないことに注意してください。Oracle Technology Networkには、サポートされているリリースが用意されています。どちらのサイトも複数のブラウザに対応しています。

Oracle Technology Networkからダウンロードするには、次の手順を実行します。

  1. 次にアクセスします

    http://www.oracle.com/technetwork/bdc/big-data-connectors/downloads/index.html

  2. 各コネクタの名前をクリックして、インストール・ファイルを含むzipファイルをダウンロードします。

Oracle Software Delivery Cloudからダウンロードするには、次の手順を実行します。

  1. https://edelivery.oracle.com/に移動します
  2. サインインして、Export Restrictionsを受諾します。
  3. 製品名を製品フィールドに入力して、プラットフォームを選択します。

    製品: Oracle Big Data Connectors

    プラットフォーム: Linux x86-64

  4. Oracle Big Data Connectorsが製品リストに表示されたら、続行をクリックします。Oracle Big Data Connectorsの最新メジャー・リリースが選択したオプションとして表示されます。
  5. 別のリリースを選択するには、かわりのリリースを選択をクリックして、リストから別のパッケージを選択します。続行をクリックします。
  6. 使用条件を読みます。受諾する場合はチェックボックスをクリックし、続行をクリックします。
  7. ダウンロード・サイトで、zipファイルを個別に選択するか、すべてダウンロードをクリックします。

1.4 Oracle SQL Connector for Hadoop Distributed File Systemの設定

Oracle SQL Connector for Hadoop Distributed File System (HDFS)は、Oracle Databaseが稼働するシステムにインストールして構成します。Hive表がデータソースとして使用される場合、ユーザーがHiveにアクセスするHadoopクライアントにOracle SQL Connector for HDFSもインストールして実行する必要があります。

Oracle SQL Connector for HDFSは、Oracle Big Data Connectors用に構成されている場合には、Oracle Big Data Applianceにインストール済です。このインストールでサポートされるのは、Oracle Big Data Applianceに直接接続して各自のジョブを実行するユーザーです。

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

1.4.1 ソフトウェア要件

Oracle SQL Connector for HDFSには、次のソフトウェアが必要です。

Hadoopクラスタの場合:

  • Cloudera's Distribution including Apache Hadoopバージョン5 (CDH5)、またはApache Hadoop 2.2.0から2.6.0。

  • Java Development Kit (JDK)。推奨バージョンについては、Hadoopソフトウェアの代理店(ClouderaまたはApache)に確認してください。

  • Hive 0.12.0、0.13.0、、0.13.1または1.1.0 (Hive表にアクセスする場合は必須、それ以外はオプション)

このソフトウェアは、Oracle Big Data Applianceにすでにインストールされています。

Oracle DatabaseシステムおよびHadoopクライアント・システムの場合:

  • Oracle Database 12c (12.1.0.2)、Oracle Database 11gリリース2 (11.2.0.4以上) for Linux。

  • Hadoopクラスタと同じバージョンのHadoop: CDH5、またはApache Hadoop 2.2.0から2.6.0。

    Kerberosを使用してセキュアなHadoopクラスタを構成している場合は、データベース・システムのHadoopクライアントを、セキュアなクラスタにアクセスするように設定する必要があります。「セキュアなHadoopクラスタでのOracle SQL Connector for HDFSの使用」を参照してください。

  • Hadoopクラスタと同じバージョンのJDK。

1.4.2 Oracle DatabaseシステムへのHadoopクライアントのインストールと構成

Oracle SQL Connector for HDFSは、Oracle Databaseシステム上にHadoopクライアントを必要とします。Hadoopクライアントを使用する場合にかぎり、Hadoopのインストールを最小限に構成できます。Hadoopの完全なインストールは必要ありません。Oracle SQL Connector for HDFSで必要なHadoopの部分は、HadoopインストールからのHadoop JARファイルおよび構成ファイルのみです。

注意:

Oracle DatabaseシステムにHadoopが完全にインストールされている場合でも、決してこのシステムでHadoopを起動しないでください。Hadoopがローカルで実行されていると、Oracle SQL Connector for HDFSはHadoopクラスタではなく、そのHadoopへの接続を試行します。

Oracle Exadata Database Machineが含まれるOracle RACシステムの場合は、Oracleインスタンスを実行しているすべてのシステムで同一パスを使用して、Oracle SQL Connector for HDFSをインストールして構成する必要があります。

Oracle Big Data Applianceと併用するためのHadoopクライアントの追加

Oracle Big Data Applianceでは、システムでサポートされる独自の手順に従って、Hadoopクライアントをインストールする必要があります。HadoopシステムがOracle Big Data Applianceである場合は、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』のCDHへのリモート・アクセスの提供に関する項を参照してください。この項では、CDHクライアントをインストールし、Kerberosで保護された環境または保護されていない環境で使用するために構成し、HDFSアクセスを検証する方法を説明します。

他のHadoopシステムと併用するためのHadoopクライアントの追加

Oracle Big Data Appliance以外のHadoopシステムに接続する場合は、代理店によって提供されるHadoopクライアントをダウンロードしてインストールします。たとえば、Oracle DatabaseシステムでCDHシステム(Oracle Big Data Applianceではないシステム)に接続できるHadoopクライアントが必要な場合は、次の手順を使用して適切なCDHクライアントをインストールし、Kerberosで保護された環境または保護されていない環境で使用するために構成して、Hadoopクラスタ上のHDFSへのアクセスを検証できます。

  1. Oracle Databaseが稼働しているデータベース・システムにログインします。

    このアカウントは、選択したインストール・パスへの書込み権限を持っている必要があります。通常は、管理ユーザー・アカウントで十分です。また、このアカウントはCloudera Managerへのログイン・アクセス権も持っている必要があります。

  2. CDHファイルをインストールしてクライアントを構成します。

    1. tarballをCloudera tarballのダウンロード・ページ(http://archive.cloudera.com/cdh5/cdh/5/)からダウンロードします

      注意:

      CDHクライアントのバージョンは、HadoopシステムのCDHバージョンと互換性がある必要があります。ファイル名のバージョン番号セグメント(hadoop-2.6.0-cdh5.4.7.tar.gzなど)が、Hadoopクラスタのバージョンと一致していることを確認してください。ダウンロード・ページで必要なtarballはこれだけです。
    2. tarballをデータベース・システムの任意の永続パスにコピーして、tarballからファイルを抽出します。

      $ tar xzf hadoop-<version>.tar.gz 
    3. HADOOP_PREFIX環境変数をこのパスに設定し、PATH変数にHADOOP_PREFIX/binを追加します。

      $ export HADOOP_PREFIX=<install location>
      $ export PATH=${HADOOP_PREFIX}/bin:${PATH}
    4. Cloudera Managerで‘hdfs’サービスをクリックし、‘Download Client Configuration’アクションを選択して構成ファイルをダウンロードします。

    5. クライアント構成ファイルをHADOOP_PREFIX/confに抽出します。

      $mkdir ${HADOOP_PREFIX}/conf
      unzip hdfs-clientconfig.zip -d /tmp 
      cp /tmp/hadoop-conf/* ${HADOOP_PREFIX}/conf
    6. HADOOP_CONF_DIR環境変数を、クライアント構成ファイルをインストールしたパスに設定することもできます。(これはオプションです。)

      export HADOOP_CONF_DIR=${HADOOP_PREFIX}/conf
  3. JAVA_HOMEが、Hadoopインストールで必要とされるバージョンのJDKインストールを指していることを確認します。

  4. クラスタがKerberosで保護されている場合は、Kerberos認証を許可するようにOracleシステムを構成します。(「セキュアなHadoopクラスタでのOracle SQL Connector for HDFSの使用」を参照してください。)

  5. Oracle DatabaseシステムからHDFSへのアクセスをテストします。
    1. Oracle Databaseアカウントを使用して、Oracle Databaseが稼働しているシステムにログオンします。

    2. Bashシェルを開き、次のコマンドを入力します。

      hdfs dfs -ls /user

      Hadoopクラスタ上で直接コマンドを実行する場合と同じディレクトリ・リストが表示されます。表示されない場合、最初にHadoopクラスタが稼働していることを確認します。問題が続く場合、Oracle DatabaseからHadoopクラスタ・ファイル・システムにアクセスできるようにHadoopクライアント構成を修正する必要があります。

  6. Oracle RACシステムの場合、各Oracle Databaseインスタンスに対してこの手順を繰り返します。

1.4.3 Oracle SQL Connector for HDFSのインストール

Oracle DatabaseシステムにOracle SQL Connector for HDFSをインストールするには、次の手順を実行します。

データベース・システム上のこの必須インストールの他に、互換Hadoopクライアントとして構成されたどのシステムにもOracle SQL Connector for HDFSをインストールできます。こうすることで、そのノードからOracle Database外部表を作成できるようになります。

Oracle DatabaseシステムにOracle SQL Connector for HDFSをインストールするには、次の手順を実行します。

  1. Oracle Databaseが稼働するシステムのディレクトリにzipファイルをダウンロードします。

  2. oraosch-<version>.zipの内容を解凍します。

    $ unzip oraosch-<version>.zip
    Archive:  oraosch-<version>.zip
     extracting: orahdfs-<version>.zip
      inflating: README.txt
  3. orahdfs-<version>.zipを永続ディレクトリに解凍します。

    $ unzip orahdfs-<version>.zip
    unzip orahdfs-<version>.zip
    Archive:  orahdfs-<version>.zip
       creating: orahdfs-<version>/
       creating: orahdfs-<version>/log/
       creating: orahdfs-<version>/examples/
       creating: orahdfs-<version>/examples/sql/
      inflating: orahdfs-<version>/examples/sql/mkhive_unionall_view.sql
       creating: orahdfs-<version>/doc/
      inflating: orahdfs-<version>/doc/README.txt
       creating: orahdfs-<version>/jlib/
      inflating: orahdfs-<version>/jlib/osdt_cert.jar
      inflating: orahdfs-<version>/jlib/oraclepki.jar
      inflating: orahdfs-<version>/jlib/osdt_core.jar
      inflating: orahdfs-<version>/jlib/ojdbc7.jar
      inflating: orahdfs-<version>/jlib/orahdfs.jar
      inflating: orahdfs-<version>/jlib/ora-hadoop-common.jar
       creating: orahdfs-<version>/bin/
      inflating: orahdfs-<version>/bin/hdfs_stream

    解凍したファイルの構造は、例1-1のようになります。

  4. orahdfs-<version>/bin/hdfs_stream Bashシェル・スクリプトをテキスト・エディタで開き、必要に応じて、スクリプトのコメントに示される変更を行います。

    hdfs_streamスクリプトには環境変数の設定は継承されないため、Oracle SQL Connector for HDFSで環境変数が必要な場合はこのスクリプトに設定します。

    • PATH: hadoopスクリプトが/usr/bin:bin (hdfs_streamに初期設定されているパス)に存在しない場合、Hadoopのbinディレクトリ(/usr/lib/hadoop/binなど)を追加します。

    • JAVA_HOME: HadoopによってJavaが検出されない場合、この変数をJavaのインストール・ディレクトリに設定します(/usr/bin/javaなど)。

    各環境変数の詳細は、スクリプトのコメントを参照してください。

    hdfs_streamスクリプトは、Oracle SQL Connector for HDFSで作成されたOracle Database外部表のプリプロセッサです。

  5. Kerberosを使用してクラスタを保護している場合は、Kerberosチケットを取得します。

    > kinit
    > password
  6. HDFSの/binディレクトリの場合は、Oracle SQL Connectorからhdfs_streamを実行します。次の使用方法の情報が表示されます。

    $ ./hdfs_stream
    Usage: hdfs_stream locationFile
    

    使用方法の情報が表示されない場合、Oracle Databaseを実行しているオペレーティング・システム・ユーザー(oracleなど)に次の権限があることを確認します。

    • hdfs_streamスクリプトに対する読取り権限と実行権限。

      $ ls -l OSCH_HOME/bin/hdfs_stream
      -rwxr-xr-x 1 oracle oinstall Nov 27 15:51 hdfs_stream
    • orahdfs.jarに対する読取り権限。

      $ ls -l OSCH_HOME/jlib/orahdfs.jar
      -rwxr-xr-x 1 oracle oinstall Nov 27 15:51 orahdfs.jar

    これらの権限が表示されない場合、chmodコマンドを入力して権限を修正します。たとえば、次のように入力します。

    $ chmod 755 OSCH_HOME/bin/hdfs_stream

    前述のコマンドでは、OSCH_HOMEは、Oracle SQL Connector for HDFSホーム・ディレクトリを表します。

  7. Oracle RACシステムの場合、同じパスの場所を使用し、各Oracleインスタンスに対して前述の手順を繰り返します。

  8. Oracle Databaseにログインし、hdfs_streamが格納されているorahdfs-<version>/binディレクトリのデータベース・ディレクトリを作成します。Oracle RACシステムの場合、このディレクトリにはすべてのOracleインスタンスが同一のパスを使用してアクセスできる必要があります。

    次の例では、Oracle SQL Connector for HDFSは/etcにインストールされます。

    SQL> CREATE OR REPLACE DIRECTORY osch_bin_path AS '/etc/orahdfs-<version>/bin';
  9. Hive表へのアクセスをサポートするには、次の手順を実行します。

    1. システムがHiveクライアントして構成されていることを確認します。

    2. HiveのJARファイルとconfディレクトリをHADOOP_CLASSPATH環境変数に追加します。各種のHadoop製品間でJARが競合しないようにするため、HADOOP_CLASSPATHは、グローバルに変更するのではなく、ローカル・シェル初期化スクリプトに設定することをお薦めします。複数のJARファイル・パスがHADOOP_CLASSPATHにある場合は、現在の製品のJARを最初にリストしてください。

解凍したファイルの構造は、例1-1のようになります。

図1-1に、データの流れとコンポーネントの場所を示します。

図1-1 HDFSおよびデータ・ポンプ・ファイルをサポートするOracle SQL Connector for HDFSのインストール

図1-1の説明が続きます。
「図1-1 HDFSおよびデータ・ポンプ・ファイルをサポートするOracle SQL Connector for HDFSのインストール」の説明

例1-1 orahdfsディレクトリの構造

orahdfs-<version>
   bin/
      hdfs_stream
   doc/
      README.txt
   examples/
      sql/
         mkhive_unionall_view.sql
   jlib/ 
      ojdbc7.jar
      oraloader.jar      
      ora-hadoop-common.jar
      oraclepki.jar
      orahdfs.jar
      osdt_cert.jar
      osdt_core.jar
   log/

1.4.4 Oracle Databaseに対するユーザー・アクセス権の付与

Oracle DatabaseユーザーがOracle SQL Connector for HDFSを使用して外部表を作成するには、次の権限が必要です。

  • CREATE SESSION

  • CREATE TABLE

  • CREATE VIEW

  • UTL_FILE PL/SQLパッケージに対するEXECUTE

  • Oracle SQL Connector for HDFSのインストール時に作成されるOSCH_BIN_PATHディレクトリに対するREADおよびEXECUTE。書込みアクセス権は誰にも付与しないでください。Oracle SQL Connector for HDFSを使用する予定のユーザーにのみEXECUTEを付与します。

  • 外部表を格納するデータベース・ディレクトリに対するREADWRITE、またはCREATE ANY DIRECTORYシステム権限。Oracle RACシステムの場合、このディレクトリは、すべてのOracleインスタンスでアクセスできる共有ディスク上に存在する必要があります。

  • データをOracleデータベースにコピーする表領域と割当て。オプション。

例1-2に、これらの権限をHDFSUSERに付与するSQLコマンドを示します。

注意:

Oracle SQL Connector for HDFSを使用する外部表を問い合せる場合にユーザーに必要な権限は、対象の表に対するSELECT権限のみです。

例1-2 Oracle SQL Connector for HDFSに対するユーザー・アクセス権の付与

CONNECT / AS sysdba;
CREATE USER hdfsuser IDENTIFIED BY password
   DEFAULT TABLESPACE hdfsdata
   QUOTA UNLIMITED ON hdfsdata;
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW TO hdfsuser;
GRANT EXECUTE ON sys.utl_file TO hdfsuser;
GRANT READ, EXECUTE ON DIRECTORY osch_bin_path TO hdfsuser;
GRANT READ, WRITE ON DIRECTORY external_table_dir TO hdfsuser;

1.4.5 Oracle Databaseシステムへのユーザー・アカウントの設定

HDFSおよびデータ・ポンプ形式ファイルの外部表を作成する場合、ユーザーは、Oracle DatabaseシステムまたはHadoopクライアントとして設定された別のシステムにログインできます。

これらのシステムのアカウントは、他のオペレーティング・システム・ユーザーの場合と同様に設定できます。HADOOP_CLASSPATHpath/orahdfs-<version>/jlib/*を含める必要があります。この設定は、このインストール手順の一部としてシェルのプロファイルに追加することも、ユーザーが設定することもできます。次の例では、BashシェルのHADOOP_CLASSPATHを変更します。ここでは、Oracle SQL Connector for HDFSは/usr/binにインストールされています。

export HADOOP_CLASSPATH="/etc/orahdfs-<version>/jlib/*:$HADOOP_CLASSPATH"

1.4.6 セキュアなHadoopクラスタでのOracle SQL Connector for HDFSの使用

ユーザーが、Oracle SQL Connector for HDFSを使用して作成された外部表にアクセスする場合、外部表は、Oracleデータベースが稼働しているシステムで実行されているHadoopクライアントのように動作します。また、Oracleのインストール先のオペレーティング・システム・ユーザーのIDが使用されます。

セキュアなHadoopクラスタでは、Kerberosがインストール済で、クライアント・アクティビティを認証するように構成されています。Oracle SQL Connector for HDFSをKerberosで保護されたHadoopクラスタとともに使用するように構成する必要があります。

kinitを使用してユーザーを認証する場合:

  • Hadoop管理者は、クラスタに対するKey Distribution Center (KDC)にオペレーティング・システム・ユーザー(oracleなど)およびパスワードを登録する必要があります。

  • Oracle Databaseシステムのシステム管理者は、/etc/krb5.confを構成して、セキュアなクラスタによって管理されているKDCを参照するドメイン定義を追加します。

これらの手順を使用すると、オペレーティング・システム・ユーザーは、kinitユーティリティで認証されてから、Oracle SQL Connector for HDFSジョブを発行できます。kinitユーティリティは通常、認証用のKerberosキータブ・ファイルを使用し、パスワードに対話型プロンプトを使用しません。

システムではkinitをKerberosチケットの失効前に定期的に実行して、Oracle SQL Connector for HDFSによる透過的な認証を可能にする必要があります。cronまたは類似ユーティリティを使用して、kinitを実行します。たとえば、Kerberosチケットが2週間ごとに期限が切れる場合は、チケットの期限を1週間ごとに延長するようにcronジョブを設定します。

Oracle SQL Connector for HDFSがアクティブに使用されなくなったら実行されるように、cronジョブがスケジュールされていることを確認してください。

Oracle SQL Connector for HDFSプリプロセッサ・スクリプト(hdfs_stream)内のkinitは、kinitに対する大量の同時呼出しがトリガーされて、内部Kerberosキャッシュ・エラーが作成される可能性があるため、呼び出さないでください。

注意:

Oracle Big Data Applianceでは、Kerberosセキュリティが構成オプションとして自動的に構成されます。セキュアなOracle Big Data Applianceクラスタに対するクライアント・システムの設定の詳細は、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』を参照してください。

1.5 Oracle Loader for Hadoopの設定

1.5.1 ソフトウェア要件

Oracle Loader for Hadoopには、次のソフトウェアが必要です。

  • 次のいずれかが稼働しているターゲット・データベース・システム

    • Oracle Database 12c (12.1.0.2)

    • Oracle Database 11gリリース2 (11.2.0.4)

  • Cloudera's Distribution including Apache Hadoopバージョン5 (CDH5)、またはApache Hadoop 2.2.0から2.6.0。

  • Hive表からデータをロードする場合はApache Hive 0.12.0、0.13.0、0.13.1または1.1.0。

1.5.2 Oracle Loader for Hadoopのインストール

Oracle Loader for Hadoopは、Oracle Database 12c (12.1.0.2)クライアント・ライブラリ、およびOracle Database 11.2.0.4または12.1.0.2に接続するためのOracle Instant Clientライブラリに同梱されています。

注意:

Oracle Loader for Hadoopをインストールするシステムには、Oracle Clientが必要とするリソースと同じリソースが必要です。Oracle Database 12c リリース1 (12.1)におけるOracle Clientの要件に関する詳細は、Oracle Database Clientインストレーション・ガイドを参照してください。

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

  1. oraloader-<version>.x86_64.zipの内容をHadoopクラスタまたはHadoopクライアントとして構成したシステムのディレクトリに解凍します。
  2. oraloader-<version>-h2.x86_64.zipをHadoopクラスタのディレクトリに解凍します。

    oraloader-<version>-h2というディレクトリが次のサブディレクトリとともに作成されます。

    doc
    jlib
    lib
    examples
  3. OLH_HOMEという変数を作成し、その変数をインストール・ディレクトリに設定します。
  4. HADOOP_CLASSPATH変数に次のパスを追加します。
    • すべてインストールする場合:

      $OLH_HOME/jlib/*

      OLHを使用するとき、$OLH_HOME/jlib/*は常にHADOOP_CLASSPATHに最初に指定する必要があります。

    • Hive表からのデータのロードをサポートする場合:

      /usr/lib/hive/lib/*
      /etc/hive/conf

      「oracle.hadoop.xquery.lib.share」を参照してください。

    • Oracle NoSQL Databaseリリース2からデータを読み取る場合:

      $KVHOME/lib/kvstore.jar

1.5.3 オフライン・データベース・モードのサポート

一般的なインストールでは、Oracle Loader for HadoopはHadoopクラスタまたはHadoopクライアントからOracle Databaseシステムに接続できます。接続できない場合(複数のシステムが異なるネットワーク上にある場合など)は、Oracle Loader for Hadoopをオフライン・データベース・モードで使用できます。「操作モードの概要」を参照してください。

オフライン・データベース・モードをサポートするには、2つのシステムにOracle Loader for Hadoopをインストールする必要があります。

  • HadoopクラスタまたはHadoopクライアントとして設定されているシステム(「Oracle Loader for Hadoopのインストール」を参照)。

  • Oracle DatabaseシステムまたはOracle Databaseへのネットワーク・アクセスを備えたシステム(次の手順を参照)。

Oracle Loader for Hadoopをオフライン・データベース・モードでサポートするには、次の手順を実行します。

  1. oraloader-<version>.zipの内容をOracle DatabaseシステムまたはOracle Databaseへのネットワーク・アクセスを備えたシステムに解凍します。Hadoopクラスタにインストールしたものと同じバージョンのソフトウェアを使用する必要があります。
  2. oraloader-<version>-h2.x86_64.zipを解凍します。
  3. OLH_HOMEという変数を作成し、その変数をインストール・ディレクトリに設定します。次の例では、Bashシェル構文を使用しています。
    $ export OLH_HOME="/usr/bin/oraloader-<version>-h2/"
  4. Oracle Loader for HadoopのJARファイルをHADOOP_CLASSPATH環境変数に追加します。他のJARファイル・パスがHADOOP_CLASSPATHにある場合、Oracle Loader for Hadoopを使用するときにはOracle Loader for HadoopのJARファイル・パスを最初に指定してください。次の例では、Bashシェル構文を使用しています。
    $ export HADOOP_CLASSPATH=$OLH_HOME/jlib/*:$HADOOP_CLASSPATH

1.5.4 セキュアなHadoopクラスタでのOracle Loader for Hadoopの使用

セキュアなHadoopクラスタでは、Kerberosがインストール済で、クライアント・アクティビティを認証するように構成されています。オペレーティング・システム・ユーザーは認証されてから、Oracle Loader for Hadoopジョブを開始してセキュアなHadoopクラスタで実行する必要があります。認証の場合、ユーザーは、ジョブを発行するオペレーティング・システムにログインして、標準のKerberosのkinitユーティリティを使用する必要があります。

kinitを使用してユーザーを認証する場合:

  • Hadoop管理者は、クラスタに対するKey Distribution Center (KDC)にオペレーティング・システム・ユーザーおよびパスワードを登録する必要があります。

  • オペレーティング・システム・ユーザーがOracle Loader for Hadoopジョブを開始するクライアント・システムのシステム管理者は、/etc/krb5.confを構成して、セキュアなクラスタによって管理されているKDCを参照するドメイン定義を追加する必要があります。

通常、kinitユーティリティでは、数日間有効の認証チケットを取得します。後続のOracle Loader for Hadoopジョブは、失効していないチケットを使用して透過的に認証されます。

注意:

Oracle Big Data Applianceでは、Kerberosセキュリティが構成オプションとして自動的に構成されます。セキュアなOracle Big Data Applianceクラスタに対するクライアント・システムの設定の詳細は、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』を参照してください。

1.6 Oracle Shell for Hadoop Loadersの設定

前提条件

Oracle Databaseサーバーには次のものが必要です。

  • JDBCによるOracle Databaseへのアクセス

  • Hadoopクライアント・ライブラリおよびHiveクライアント・ライブラリがインストールされ、構成されている

  • SQL*Plus、OLHおよびOSCHがインストールされている

Oracle Shell for Hadoop Loadersのインストール

Oracle DatabaseサーバーにOracle Shell for Hadoop Loadersを設定するには、次の各項の手順に従います。

  1. ohsh-<version>.zipの内容をデータベース・サーバーのディレクトリに抽出します。 

    抽出すると、ohsh-<version>というディレクトリがREADME.txtファイルと次のサブディレクトリとともに作成されます。

    README.txt
    /bin
    /conf
    /doc
    /examples
    /jlib
  2. README.txtに記載された手順に従い、Oracle Shell for Hadoop Loadersを構成します。

1.7 Oracle XQuery for Hadoopの設定

Oracle XQuery for HadoopをHadoopクラスタにインストールして構成します。Oracle Big Data Applianceを使用している場合、このソフトウェアはすでにインストールされています。

次のトピックでは、このソフトウェアのインストールについて説明します。

1.7.1 ソフトウェア要件

Oracle Big Data Applianceリリース4.3以降は、次の要件を満たしています。ただし、サードパーティのクラスタにOracle XQuery for Hadoopをインストールしている場合は、これらのコンポーネントがインストールされていることを確認する必要があります。

  • Java 7.xまたは6.x

  • Cloudera's Distribution including Apache Hadoopバージョン4.1.2以降(CDH 5.xを含みます)

  • Oracle NoSQL Databaseに対する読取りおよび書込みをサポートするOracle NoSQL Database 3.xまたは2.x

  • Oracleデータベースへの表の書込みをサポートするOracle Loader for Hadoop 3.5.0

1.7.2 Oracle XQuery for Hadoopのインストール

次の手順に従って、Oracle XQuery for Hadoopをインストールします。

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

  1. oxh-<version>.zipの内容をインストール・ディレクトリに解凍します。

    $ unzip oxh-4.2.0-cdh-5.0.0.zip
    Archive:  oxh-4.2.0-cdh-5.0.0.zip
       creating: oxh-4.2.0-cdh5.0.0/
       creating: oxh-4.2.0-cdh5.0.0/lib/
       creating: oxh-4.2.0-cdh5.0.0/oozie/
       creating: oxh-4.2.0-cdh5.0.0/oozie/lib/
      inflating: oxh-4.2.0-cdh5.0.0/lib/ant-launcher.jar
      inflating: oxh-4.2.0-cdh5.0.0/lib/ant.jar
         .
         .
         .

    これで、Oracle XQuery for Hadoopを実行できます。

  2. 実行時間を最速にするには、ライブラリをHadoop分散キャッシュにコピーします。

    1. Oracle XQuery for HadoopおよびサードパーティのすべてのライブラリをHDFSディレクトリにコピーします。ファイルのコピーに-exportliboozieオプションを使用する場合は、「Oracle XQuery for Hadoopのオプション」を参照してください。あるいは、HDFSコマンドライン・インタフェースを使用してライブラリを手動でコピーすることもできます。

      Oozieを使用する場合は、すべてのファイルで同じフォルダを使用します。「Oracle XQuery for HadoopアクションのOozieの構成」を参照してください

    2. oracle.hadoop.xquery.lib.shareプロパティを設定するか、コマンドラインで-sharelibオプションを使用して、Hadoop分散キャッシュのディレクトリを指定します。

  3. Oracle Databaseへのデータのロードをサポートするには、次のようにOracle Loader for Hadoopをインストールします。

    1. oraloader-<version>.x86_64.zipの内容をHadoopクラスタまたはHadoopクライアントとして構成したシステムのディレクトリに解凍します。このアーカイブには、アーカイブとREADMEファイルが含まれています。

    2. Hadoopクラスタのディレクトリにアーカイブを解凍します。

      unzip oraloader-<version>-h2.x86_64.zip

      oraloader-<version>-h2というディレクトリが次のサブディレクトリとともに作成されます。

      doc
      jlib
      lib
      examples
    3. OLH_HOMEという環境変数を作成して、インストール・ディレクトリに設定します。HADOOP_CLASSPATHは設定しないでください。

  4. Oracle NoSQL Databaseへのデータのロードをサポートするには、インストール後、KVHOMEという環境変数をOracle NoSQL Databaseのインストール・ディレクトリに設定します。

    注意:

    NoSQL Database jarファイルをHADOOP_CLASSPATHに追加しないでください。

  5. Apache Solrによる索引をサポートするには、次のようにします。

    1. HadoopクラスタにSolrがインストールされ、構成されていることを確認します。SolrはCloudera Searchに含まれており、Oracle Big Data Appliance上に自動的にインストールされます。

    2. ドキュメントのロード先となるインストールしたSolrにコレクションを作成します。コレクションを作成するにはsolrctlユーティリティを使用します。

      関連項目:

      solrctlユーティリティに関しては、次のサイトのCloudera Searchユーザー・ガイドを参照してください。

      http://www.cloudera.com/content/cloudera-content/cloudera-docs/Search/latest/Cloudera-Search-User-Guide/csug_solrctl_ref.html

    3. OXH_SOLR_MR_HOME環境変数をsearch-mr-<version>.jarおよびsearch-mr-<version>-job.jarを含むローカル・ディレクトリに設定し、インストールしたSolrを使用するようにOracle XQuery for Hadoopを構成します。次に例を示します。

      $ export OXH_SOLR_MR_HOME="/usr/lib/solr/contrib/mr"

      注意:

      また、Apache Tikaアダプタを使用する前に、Oracle XQuery for Hadoopを構成し、OXH_SOLR_MR_HOME環境変数をローカル・ディレクトリに設定してください。

1.7.3 ファイル・パスのトラブルシューティング

Oracle XQuery for Hadoopで問合せの実行時に独自のライブラリまたはサードパーティのライブラリの検出に失敗した場合は、「Oracle XQuery for Hadoopのインストール」で説明されているように、環境変数が設定されていることを最初に確認してください。

注意:

HADOOP_CLASSPATH環境変数または-libjarsコマンドライン・オプションには、OXHライブラリまたはサードパーティ・ライブラリは含まれません。

正しく設定されている場合は、lib/oxh-lib.xmlの編集が必要な可能性があります。このファイルは、Oracle XQuery for HadoopシステムのJARファイルと、Avro、Oracle Loader for HadoopやOracle NoSQL Databaseなどのその他のライブラリの場所を識別します。

必要に応じて、このファイルの環境変数は、${env.variable} (${env.OLH_HOME}など)で参照できます。Hadoopプロパティも${property}(${mapred.output.dir}など)で参照できます。

1.7.4 Oracle XQuery for HadoopアクションのOozieの構成

「Apache Oozieからの問合せの実行」で説明しているように、Apache Oozieワークフローを使用して問合せを実行できます。ソフトウェアは、Oracle Big Data Applianceにすでにインストールおよび構成されています。

その他のHadoopクラスタの場合は、まずOracle XQuery for Hadoopアクションを使用するようにOozieを構成する必要があります。これらは、Oracle XQuery for Hadoopアクションをインストールする一般的な手順です。

  1. Oozie構成を変更します。CDHをサードパーティ・ハードウェアで実行する場合、Cloudera Managerを使用してOozieサーバー構成を変更します。それ以外のHadoopのインストールの場合は、oozie-site.htmを編集します。
    • oracle.hadoop.xquery.oozie.OXHActionExecutoroozie.service.ActionService.executor.ext.classesプロパティの値に追加します。

    • oxh-action-v1.xsdoozie.service.SchemaService.wf.ext.schemasプロパティの値に追加します。

  2. oxh-oozie.jarをOozieサーバーのクラス・パスに追加します。たとえば、CDH5のインストールではoxh-oozie.jarをサーバーの/var/lib/oozieにコピーします。
  3. Oracle XQuery for Hadoopのすべての依存関係を、oxhサブディレクトリのOozie共有ライブラリに追加します。CLI -exportliboozieオプションを使用できます。「Oracle XQuery for Hadoopのオプション」を参照してください。
  4. 変更を反映するためにOozieを再起動します。

具体的な手順は、Oozieがすでにインストールされているか、どのバージョンを使用しているかなどOozieのインストールによって決まります。

1.8 Oracle R Advanced Analytics for Hadoopの設定

Oracle R Advanced Analytics for Hadoop (ORAAH)の概要は、このガイドの第IV部に記載されています。

リリース・ノート、インストール手順、総合的なリファレンス・マニュアルおよび現在のリリースの変更点の一覧は、Oracle Technology Networkで個別に公開されています。

1.8.1 Hadoopへのソフトウェアのインストール

Oracle Big Data Applianceでは、追加ソフトウェアのインストールや構成なしにOracle R Advanced Analytics for Hadoopがサポートされます。ただし、サードパーティのHadoopクラスタでOracle R Advanced Analytics for Hadoopを使用するには、必要な環境を作成する必要があります。

1.8.1.1 サードパーティHadoopクラスタのソフトウェア要件

Oracle R Advanced Analytics for HadoopをサポートするサードパーティHadoopクラスタにいくつかのソフトウェア・コンポーネントをインストールする必要があります。

次のコンポーネントをサードパーティ・サーバーにインストールします。

注意:

HadoopクラスタにHADOOP_HOMEを設定しないでください。CDH5はその設定を必要とせず、設定するとOracle R Advanced Analytics for Hadoopに支障をきたします。他のアプリケーションでHADOOP_HOMEを設定する必要がある場合は、/etc/bashrcファイルにHADOOP_LIBEXEC_DIRも設定してください。次に例を示します。

export HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec

1.8.1.2 サードパーティHadoopクラスタへのSqoopのインストール

Sqoopには、Hadoopに対するSQLライクなインタフェースがあり、これはJavaベース環境になります。Oracle R Advanced Analytics for Hadoopでは、Oracle DatabaseへのアクセスにSqoopを使用します。

注意:

Oracle DatabaseへのデータのロードにOracle Loader for Hadoopをドライバとして使用する場合もSqoopが必要です。Sqoopは、データベースからHDFSへのデータのコピーや自由形式の問合せのデータベースへの送信などの関数を実行します。このドライバでは、Oracle Loader for Hadoopがサポートしない操作の実行にもSqoopが使用されます。

Oracle Databaseで使用するためにSqoopをインストールして構成するには、次の手順を実行します。

  1. Sqoopがサーバーにインストールされていない場合はインストールします。

    Cloudera's Distribution including Apache Hadoopについては、次のサイトの『CDH Installation Guide』のSqoopインストール手順を参照してください

    http://oracle.cloudera.com/

  2. Oracle Databaseに適したJava Database Connectivity (JDBC)ドライバを次のOracle Technology Networkからダウンロードします
  3. ドライバのJARファイルを$SQOOP_HOME/libにコピーします。これは、/usr/lib/sqoop/libなどのディレクトリです。
  4. SqoopにOracle Databaseへの接続文字列を指定します。
    $ sqoop import --connect jdbc_connection_string

    sqoop import --connect jdbc:oracle:thin@myhost:1521/orclのようになります。

1.8.1.3 サードパーティHadoopクラスタへのHiveのインストール

Hiveは、HiveQLと呼ばれる問合せ言語によって、代替のストレージおよび取得メカニズムをHDFSファイルに提供します。Oracle R Advanced Analytics for HadoopではHiveQLのデータ準備と分析機能が使用されますが、R言語構文も使用できます。

Hiveをインストールするには、次の手順を実行します。

  1. 代理店(ClouderaまたはApache)で提供されるHiveインストール手順に従います。
  2. インストールが適切に機能することを確認します。
  3. $ hive -H 使用方法: hive -d,--define <key=value> hiveコマンドに適用する変数の代入。例: -d A=Bまたは--define A=B . . .
  4. コマンドが失敗したり、出力に警告が表示される場合、Hiveインストールを修正します。

1.8.1.4 HadoopクライアントへのRのインストール

Oracle R Distributionの次のWebサイトからR 2.13.2をダウンロードして、インストール手順を入手できます。

http://oss.oracle.com/ORD/

終了したら、Linuxサーバーへの接続とRの実行に必要な権限がユーザーにあることを確認します。

また、Rユーザーによるアクセスが簡単になるようにRStudioサーバーもインストールできます。RStudioの次のWebサイトを参照してください。

http://rstudio.org/

1.8.1.5 サードパーティHadoopクラスタへのRのインストール

次のWebサイトからOracle R Distribution 3.0.1をダウンロードして、インストール手順を入手できます。

http://www.oracle.com/technetwork/database/database-technologies/r/r-distribution/downloads/index.html

1.8.1.6 サードパーティHadoopクラスタへのORCHパッケージのインストール

ORCHは、Oracle R Advanced Analytics for Hadoopパッケージの名前です。

ORCHパッケージをインストールするには、次の手順を実行します。

  1. クラスタの第1ノードにrootとしてログインします。
  2. サポートするソフトウェアの環境変数を設定します。
    $ export JAVA_HOME="/usr/lib/jdk7"
    $ export R_HOME="/usr/lib64/R"
    $ export SQOOP_HOME "/usr/lib/sqoop"
  3. ダウンロードしたファイルを解凍します。
    $ unzip orch-<version>.zip
    $ unzip orch-linux-x86_64-<version>.zip 
    Archive:  orch-linux-x86_64-<version>.zip
       creating: ORCH<version>/
     extracting: ORCH<version>/ORCH_<version>_R_x86_64-unknown-linux-gnu.tar.gz  
      inflating: ORCH<version>/ORCHcore_<version>_R_x86_64-unknown-linux-gnu.tar.gz  
         .
         .
         .
  4. 新しいディレクトリに変更します。
    $ cd ORCH<version>
  5. 次の順序でパッケージをインストールします。
    R --vanilla CMD INSTALL OREbase_<version>_R_x86_64-unknown-linux-gnu.tar.gz
    R --vanilla CMD INSTALL OREstats_<version>_R_x86_64-unknown-linux-gnu.tar.gz
    R --vanilla CMD INSTALL OREmodels_<version>_R_x86_64-unknown-linux-gnu.tar.gz
    R --vanilla CMD INSTALL OREserver_<version>_R_x86_64-unknown-linux-gnu.tar.gz
    R --vanilla CMD INSTALL ORCHcore_<version>_R_x86_64-unknown-linux-gnu.tar.gz
    R --vanilla CMD INSTALL ORCHstats_<version>_R_x86_64-unknown-linux-gnu.tar.gz
    R --vanilla CMD INSTALL ORCH_<version>_R_x86_64-unknown-linux-gnu.tar.gz
  6. 次のパッケージは、クラスタのその他すべてのノードにもインストールする必要があります。
    • OREbase

    • OREmodels

    • OREserver

    • OREstats

    次の例では、dcliユーティリティ(Oracle Big Data Applianceでは使用可能で、サードパーティ・クラスタでは使用不可)を使用して、OREserverパッケージをコピーおよびインストールします。

    $ dcli -C -f OREserver_<version>_R_x86_64-unknown-linux-gnu.tar.gz -d /tmp/ OREserver_<version>_R_x86_64-unknown-linux-gnu.tar.gz
    
    $ dcli -C " R --vanilla CMD INSTALL /tmp/OREserver_<version>_R_x86_64-unknown-linux-gnu.tar.gz"

1.8.2 追加のRパッケージのインストール

Hadoopクラスタでは、すべてのノードにlibpng-develがインストールされている必要があります。コモディティ・ハードウェア上で稼働するクラスタを使用する場合も基本手順は同じです。ただし、dcliユーティリティを使用してコマンドをすべてのノード間に複製することはできません。dcliユーティリティの構文は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。

libpng-develをインストールするには、次の手順を実行します。

  1. Hadoopクラスタの任意のノードにrootとしてログインします。

  2. libpng-develがすでにインストールされているかどうかを確認します。

    # dcli rpm -qi libpng-devel
    bda1node01: package libpng-devel is not installed
    bda1node02: package libpng-devel is not installed
         .
         .
         .

    すべてのサーバーにパッケージがインストール済の場合、この手順は省略できます。

  3. ファイアウォールの外側にプロキシ・サーバー経由で接続する必要がある場合は、HTTP_PROXY環境変数を設定します。この例では、dcliを使用します。これは、Oracle Big Data Applianceでのみ使用可能です。

    # dcli export HTTP_PROXY="http://proxy.example.com"
  4. yumディレクトリに移動します。

    # cd /etc/yum.repos.d
  5. 使用するLinuxのバージョンに適した構成ファイルをダウンロードして構成します。

    Enterprise Linux 5 (EL5)の場合:

    1. yum構成ファイルをダウンロードします。

      # wget http://public-yum.oracle.com/public-yum-el5.repo
    2. テキスト・エディタでpublic-yum-el5.repoを開き、次のように変更します。

      el5_latestの下で、enabled=1と設定します。

      el5_addonsの下で、enabled=1と設定します。

    3. 変更を保存し、終了します。

    4. 他のOracle Big Data Applianceサーバーにファイルをコピーします。

      # dcli -d /etc/yum.repos.d -f public-yum-el5.repo

    Oracle Linux 6 (OL6)の場合:

    1. yum構成ファイルをダウンロードします。

      # wget http://public-yum.oracle.com/public-yum-ol6.repo
    2. テキスト・エディタでpublic-yum-ol6.repoを開き、次のように変更します。

      ol6_latestの下で、enabled=1と設定します。

      ol6_addonsの下で、enabled=1と設定します。

    3. 変更を保存し、終了します。

    4. 他のOracle Big Data Applianceサーバーにファイルをコピーします。

      # dcli -d /etc/yum.repos.d -f public-yum-ol6.repo
  6. すべてのサーバーにパッケージをインストールします。

    # dcli yum -y install libpng-devel
    bda1node01: Loaded plugins: rhnplugin, security
    bda1node01: Repository 'bda' is missing name in configuration, using id
    bda1node01: This system is not registered with ULN.
    bda1node01: ULN support will be disabled.
    bda1node01: http://bda1node01-master.abcd.com/bda/repodata/repomd.xml:
    bda1node01: [Errno 14] HTTP Error 502: notresolvable
    bda1node01: Trying other mirror.
         .
         .
         .
    bda1node01: Running Transaction
    bda1node01: Installing     : libpng-devel                    1/2
    bda1node01: Installing     : libpng-devel                    2/2
     
    bda1node01: Installed:
    bda1node01: libpng-devel.i386 2:1.2.10-17.el5_8  ibpng-devel.x86_64 2:1.2.10-17.el5_8
     
    bda1node01: Complete!
    bda1node02: Loaded plugins: rhnplugin, security
         .
         .
         .
  7. すべてのサーバーでインストールが正常に終了したことを確認します。

    # dcli rpm -qi libpng-devel
    bda1node01: Name        : libpng-devel Relocations: (not relocatable)
    bda1node01: Version     : 1.2.10       Vendor: Oracle America
    bda1node01: Release     : 17.el5_8      Build Date: Wed 25 Apr 2012 06:51:15 AM PDT
    bda1node01: Install Date: Tue 05 Feb 2013 11:41:14 AM PST  Build Host: ca-build56.abcd.com
    bda1node01: Group       : Development/Libraries  Source RPM: libpng-1.2.10-17.el5_8.src.rpm
    bda1node01: Size        : 482483                 License: zlib
    bda1node01: Signature   : DSA/SHA1, Wed 25 Apr 2012 06:51:41 AM PDT, Key ID 66ced3de1e5e0159
    bda1node01: URL         : http://www.libpng.org/pub/png/
    bda1node01: Summary     : Development tools for programs to manipulate PNG image format files.
    bda1node01: Description :
    bda1node01: The libpng-devel package contains the header files and static
    bda1node01: libraries necessary for developing programs using the PNG (Portable
    bda1node01: Network Graphics) library.
         .
         .
         .

1.8.3 Rユーザーへのリモート・クライアント・アクセスの提供

Rユーザーは、Hadoopクラスタで自身のプログラムをMapReduceジョブとして実行しますが、通常、そのプラットフォームでの個別アカウントは保有していません。かわりに、外部Linuxサーバーでリモート・アクセスが提供されます。

1.8.3.1 リモート・クライアント・アクセスのソフトウェア要件

HadoopクラスタへのアクセスをRユーザーに提供するには、次のコンポーネントをLinuxサーバーにインストールします。

  • Hadoopクラスタと同じバージョンのHadoop。インストールされていない場合、予想外の問題や障害が生じることがあります。

  • Hadoopクラスタと同じバージョンのSqoop。Oracle Database内外でのデータのコピーをサポートする場合にのみ必要です。

  • Mahout。Mahout ALS-WSアルゴリズムでorch.ls関数を使用する場合にのみ必要です。

  • Hadoopクラスタと同じバージョンのJava Development Kit (JDK)。

  • Oracle Rディストリビューション3.0.1とすべてのベース・ライブラリ。

  • ORCH Rパッケージ。

データベース・オブジェクトにアクセスできるようにするには、Oracle DatabaseへのOracle Advanced Analyticsオプションが必要です。その後、Hadoopクライアントにこの追加コンポーネントをインストールできます。

  • Oracle R Enterpriseクライアントのパッケージ。

1.8.3.2 Hadoopクライアントとしてのサーバーの構成

クライアントにHadoopをインストールし、HDFSクライアントを使用する場合はHadoopの最小限の構成を行う必要があります。

クライアント・システムにHadoopをインストールして構成するには、次の手順を実行します。

  1. クライアント・システムにCDH5またはApache Hadoop 0.20.2をインストールして構成します。このシステムがOracle Databaseのホストになります。Oracle Big Data Applianceを使用する場合、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』のリモート・クライアント・アクセスを提供するための手順を完了します。それ以外の場合は、代理店(ClouderaまたはApache)が提供するインストール手順に従います。
  2. Rユーザーでクライアント・システムにログインします。
  3. Bashシェルを開き、次のHadoopファイル・システム・コマンドを入力します。
    $HADOOP_HOME/bin/hdfs dfs -ls /user
  4. ファイルのリストが表示されたら終了です。表示されない場合、Hadoopクラスタが稼働していることを確認します。それでも問題が修正されない場合は、クライアントHadoopのインストールをデバッグする必要があります。

1.8.3.3 HadoopクライアントへのSqoopのインストール

Sqoopをインストールして構成する場合、「サードパーティHadoopクラスタへのSqoopのインストール」で説明する手順と同じ手順をクライアント・システムで完了します。

1.8.3.4 HadoopクライアントへのRのインストール

Oracle R Distributionの次のWebサイトからR 2.13.2をダウンロードして、インストール手順を入手できます。

http://oss.oracle.com/ORD/

終了したら、Linuxサーバーへの接続とRの実行に必要な権限がユーザーにあることを確認します。

また、Rユーザーによるアクセスが簡単になるようにRStudioサーバーもインストールできます。RStudioの次のWebサイトを参照してください。

http://rstudio.org/

1.8.3.5 HadoopクライアントへのORCHパッケージのインストール

ORCHをHadoopクライアント・システムにインストールするには、次の手順を実行します。

  1. ORCHパッケージをダウンロードし、クライアント・システムに解凍します。
  2. インストール・ディレクトリに移動します。
  3. 次のようにクライアント・スクリプトを実行します。
    # ./install-client.sh

1.8.3.6 Oracle R Enterpriseクライアントのパッケージ(オプション)のインストール

Rを使用したOracle Databaseへの完全なアクセスをサポートするには、Oracle R Enterpriseリリース1.4のクライアントのパッケージをインストールします。このパッケージがない場合、Oracle R Advanced Analytics for Hadoopでは、Oracle R Enterpriseで提供される高度な統計アルゴリズムを利用できません。

関連項目:

RおよびOracle R Enterpriseのインストールの詳細は、Oracle R Enterpriseユーザーズ・ガイド

1.9 Oracle Data Integrator

Oracle Data Integratorを設定および使用するための手順は、Oracle Fusion Middlewareビッグ・データとOracle Data Integratorの統合を参照してください。

1

『Hadoop: The Definitive Guide, Third Edition』Tom White著(O'Reilly Media Inc., 2012, 978-1449311520)。