ヘッダーをスキップ
Oracle® Big Data Connectorsユーザーズ・ガイド
リリース2 (2.2)
E48215-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

この章では、Oracle Big Data Connectorsの概要とインストール手順を示し、ユーザーがコネクタにアクセスするのに必要な権限について説明します。

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

1.1 Oracle Big Data Connectorsについて

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

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

  • Oracle SQL Connector for Hadoop Distributed File System (旧Oracle Direct Connector for HDFS): Oracle外部表は、Hadoop Distributed File System (HDFS)ファイルまたはHive表に格納されているデータにアクセスできます。データをHDFSまたはHive表に保持することも、Oracle Databaseにロードすることもできます。Oracle SQL Connector for HDFSは、org.apache.hadoop.util.Toolインタフェースでサポートされる汎用のコマンドライン引数を受け入れるコマンドライン・ユーティリティです。また、Oracle外部表のプリプロセッサも提供します。

  • Oracle Loader for Hadoop: HadoopクラスタからOracle Databaseの表にデータをすばやく移動するための効率的でパフォーマンスのよいローダーを提供します。Oracle Loader for Hadoopは、必要に応じてデータを事前にパーティション化し、そのデータをデータベース対応形式に変換します。また、データのロードや出力ファイルの作成の前に主キーまたはユーザー定義の列でレコードを任意にソートします。Oracle Loader for Hadoopは、コマンドライン・ユーティリティとして起動するMapReduceアプリケーションです。org.apache.hadoop.util.Toolインタフェースでサポートされる汎用コマンドライン・オプションを受け入れます。

  • Oracle Data Integrator Application Adapter for Hadoop: グラフィカル・ユーザー・インタフェースを使用して定義されたとおりに、HadoopクラスタからOracle Databaseの表にデータを抽出、変換およびロードします。

  • Oracle R Connector for Hadoop: ローカルR環境、Oracle Database、Hadoop間のインタフェースを提供し、3つすべてのプラットフォームで高速でインタラクティブな分析を可能にします。Oracle R Connector for Hadoopは単独で機能するよう設計されていますが、分析対象のエンタープライズ・データがOracle Databaseにも格納されている場合、Oracle R Enterpriseとともに使用すると、このコネクタの機能を最大限に活用できます。

それぞれのコネクタでは、Oracle DatabaseおよびHadoopクラスタにソフトウェア・コンポーネントをインストールする必要があります。Oracle Databaseでの追加のアクセス権限が必要な場合もあります。


関連項目:

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は、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 (CDH4)の詳細は、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 Technology Networkからダウンロードするには、次の手順を実行します。 

  1. ブラウザを使用して次のWebサイトにアクセスします。

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

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

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

  1. ブラウザを使用して次のWebサイトにアクセスします。

    https://edelivery.oracle.com/

  2. 条件と制限事項を受け入れて、「メディア・パック検索」ページを表示します。

  3. 検索条件を次のように選択します。

    製品パックを選択: Oracle Database

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

  4. 「実行」をクリックして製品パックの一覧を表示します。

  5. Oracle Big Data Connectors Media Pack for Linux x86-64 (B65965-0x)を選択して、「続行」をクリックします。

  6. 各コネクタの「ダウンロード」をクリックして、インストール・ファイルを含む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にインストール済です。

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

1.4.1 ソフトウェア要件

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

Hadoopクラスタの場合: 

  • Cloudera's Distribution including Apache Hadoopバージョン3 (CDH3)またはバージョン4 (CDH4)、あるいはApache Hadoop 1.0 (旧0.20.2)。

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

  • Hive 0.7.0、0.7.1、0.8.1、0.9.0または0.10 (Hive表にアクセスする場合は必須、それ以外はオプション)。

これらのコンポーネントはOracle Big Data Applianceにインストール済です。

Oracle Databaseシステムの場合: 

  • Oracle Database 12cまたはOracle Database 11gリリース2 (11.2.0.2または11.2.0.3) for Linux。

  • Oracle Databaseリリース11.2.0.2でOracle Data Pumpファイル形式をサポートするための、Oracle Databaseの個別パッチ。このパッチをダウンロードするには、http://support.oracle.comにアクセスしてOracle Bug#14557588を検索します。

    リリース11.2.0.3以降では、このパッチは不要です。

  • Hadoopクラスタと同じバージョンのHadoop。CDH3、CDH4またはApache Hadoop 1.0のいずれか。

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

1.4.2 Hadoopクライアントのインストールと構成

Oracle SQL Connector for HDFSは、Hadoopクライアントとして機能します。Oracle DatabaseシステムにHadoopをインストールして、Hadoopクライアントを使用する場合にかぎり、最小限の構成を行う必要があります。

ただし、Oracle SQL Connector for HDFSのMapReduceジョブを実行するために、Oracle DatabaseシステムでHadoopを完全に構成する必要はありません。

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

  1. Hadoopクラスタと同じバージョンのCDHまたはApache HadoopをOracle Databaseシステムにインストールして構成します。Oracle Big Data Applianceを使用する場合、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』のリモート・クライアント・アクセスを提供するための手順を完了します。それ以外の場合は、代理店(ClouderaまたはApache)が提供するインストール手順に従います。


    注意:

    Oracle DatabaseシステムでHadoopを起動しないでください。Hadoopが実行されていると、Oracle SQL Connector for HDFSではHadoopクラスタではなく、そのHadoopの使用が試行されます。Oracle SQL Connector for HDFSは、Oracle DatabaseシステムのHadoopクラスタにあるHadoopのJARファイルおよび構成ファイルを使用します。

  2. Oracle DatabaseからHDFSにアクセスできることを確認します。

    1. Oracle Databaseアカウントを使用して、Oracle Databaseが稼働しているシステムにログインします。

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

      hadoop fs -ls /user
      

      場合によっては、Hadoopの実行可能ファイルが格納されているディレクトリをPATH環境変数に追加する必要があります。CDHのデフォルト・パスは/usr/binです。

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

これで、Oracle DatabaseシステムをHadoopクライアントとして使用する準備ができました。Hadoopの他の構成手順は必要ありません。

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

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

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

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

  2. orahdfs-version.zipを永続ディレクトリに解凍します。

    $ unzip orahdfs-2.2.0.zip
    Archive:  orahdfs-2.2.0.zip
       creating: orahdfs-2.2.0/
       creating: orahdfs-2.2.0/bin/
      inflating: orahdfs-2.2.0/bin/hdfs_stream
       creating: orahdfs-2.2.0/jlib/
      inflating: orahdfs-2.2.0/jlib/orahdfs.jar
      inflating: orahdfs-2.2.0/jlib/ora-hadoop-common.jar
      inflating: orahdfs-2.2.0/jlib/osdt_core.jar
      inflating: orahdfs-2.2.0/jlib/osdt_cert.jar
      inflating: orahdfs-2.2.0/jlib/oraclepki.jar
      inflating: orahdfs-2.2.0/jlib/ojdbc6.jar
       creating: orahdfs-2.2.0/log/
       creating: orahdfs-2.2.0/doc/
      inflating: orahdfs-2.2.0/doc/README.txt
    

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

  3. orahdfs-2.2.0/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など)。

    • OSCH_HOME: スクリプトをorahdfs-version/binサブディレクトリから移動した場合、この変数を手順2で作成したorahdfs-2.2.0ディレクトリのフル・パスに設定します。それ以外の場合、Oracle SQL Connector for HDFSによって自動的に格納場所が検出されます。

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

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

  4. HDFSインストール・ディレクトリの場合、Oracle SQL Connectorからhdfs_streamを実行します。次の使用方法の情報が表示されます。

    $ ./hdfs_stream
    Usage: hdfs_stream locationFile
    

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

    • 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ホーム・ディレクトリを表します。

  5. Oracle Databaseにログインし、hdfs_streamが格納されているorahdfs-version/binディレクトリのデータベース・ディレクトリを作成します。次の例では、Oracle SQL Connector for HDFSは/etcにインストールされます。

    SQL> CREATE OR REPLACE DIRECTORY osch_bin_path AS '/etc/orahdfs-2.2.0/bin';
    
  6. Oracle WalletをOracle Database 12cで使用している場合は、次のライブラリをORACLE_HOME/jlibからOSCH_HOME/jlibにコピーしてください。

    oraclepki.jar
    osdt_cert.jar
    sdt_core.jar
    
  7. HDFSおよびデータ・ポンプ形式ファイルのみにアクセスする場合は、これで準備完了です。Hive表へのアクセスを計画している場合は、「Hive表のサポート」の説明に従って、Hadoopクラスタにもソフトウェアをインストールする必要があります。

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

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

orahdfs-version
   bin/
      hdfs_stream
   doc/
      README.txt
   jlib/ 
      ojdbc6.jar
      ora-hadoop-common.jar
      oraclepki.jar
      orahdfs.jar
      osdt_cert.jar
      osdt_core.jar
   log/

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

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

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

1.4.4 Hive表のサポート

Hive表へのアクセスをサポートするには、Hadoopクラスタで次の手順を実行します。HDFSおよびデータ・ポンプ形式ファイルのみにアクセスする場合は、この手順を省略できます。

Oracle SQL Connector for HDFSがOracle Big Data Applianceにインストールされている必要があります。インストールを確認するには、/opt/oracle/orahdfs-2.2.0が存在するかどうかを確かめます。

サードパーティ製Hadoopクラスタを使用してHive表をサポートするには、次の手順を実行します。

  1. HiveがインストールされているHadoopクラスタ上のノードの任意のディレクトリにorahdfs-version.zipファイルをダウンロードまたはコピーします。

  2. orahdfs-version.zipをディレクトリに解凍します。

  3. Oracle WalletをOracle Database 12cで使用している場合は、次のライブラリをデータベース・システムのORACLE_HOME/jlibからHadoopクラスタのOSCH_HOME/jlibにコピーしてください。

    oraclepki.jar
    osdt_cert.jar
    sdt_core.jar
    
  4. クラスタ内のすべてのノードに対して前述の手順を繰り返します。

  5. HiveのJARファイルとconfディレクトリをHADOOP_CLASSPATH環境変数に追加します。各種のHadoop製品間でJARが競合しないようにするため、HADOOP_CLASSPATHは、グローバルに変更するのではなく、Oracle SQL Connector for HDFSユーザーのローカル・シェル初期化スクリプトに設定することをお薦めします。「Hadoopクラスタへのユーザー・アカウントの設定」を参照してください。

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

図1-2 Hive表をサポートするOracle SQL Connector for HDFSのインストール

図1-2の説明が続きます。
「図1-2 Hive表をサポートするOracle SQL Connector for HDFSのインストール」の説明

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

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

  • CREATE SESSION

  • CREATE TABLE

  • 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データベースにコピーする表領域と割当て。オプション。

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

例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 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;

注意:

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

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

HDFSおよびデータ・ポンプ形式ファイルの外部表を作成する場合は、Oracle DatabaseシステムまたはHadoopクラスタのノードにログインできます。Hiveにアクセスする場合、クラスタにログインする必要があります。

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

export HADOOP_CLASSPATH="$HADOOP_CLASSPATH:/usr/bin/orahdfs-2.2.0/jlib/*

1.4.7 Hadoopクラスタへのユーザー・アカウントの設定

Hiveにアクセスする場合、ユーザーがホーム・ディレクトリを持ち、Hadoopクラスタのノードにログインできるようになっている必要があります。ユーザーは、ノードにログインした後、Oracle SQL Connector for HDFSを実行し、サポートされるすべてのデータソースのOracle Database外部表を作成できます。

Oracle SQL Connector for HDFSのHadoopユーザー・アカウントを設定するには、次の手順を実行します。

  1. HDFSおよびローカル・ファイル・システムにホーム・ディレクトリを作成します。

    Oracle Big Data Applianceの場合は、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』の新しいHDFSユーザーの作成手順を参照してください。

    コモディティ・ハードウェア上で稼働するHadoopクラスタの場合は、Oracle Big Data Applianceと同じ基本手順に従います。唯一の相違は、dcliを使用して変更をすべてのノード間に複製することはできないという点です。

  2. シェルの構成ファイル(たとえば、Bashシェルの場合は.bashrc)を変更し、必要なJARファイルをHADOOP_CLASSPATHに追加します。

    path/orahdfs-2.2.0/jlib/*
    /usr/lib/hive/lib/*
    /etc/hive/conf
    

    次のBashコマンドは、Oracle Big Data ApplianceのHADOOP_CLASSPATHを変更します。

    export HADOOP_CLASSPATH="$HADOOP_CLASSPATH:/opt/oracle/orahdfs-2.2.0/jlib/*:/usr/lib/hive/lib/*:/etc/hive/conf"
    
  3. 変更したファイルをクラスタのすべてのノードに複製します。次のコマンドを実行すると、Oracle Big Data ApplianceのすべてのノードにBashシェル構成ファイルが複製されます。

    # dcli cp -f /home/user_name/.bashrc -d /home/user_name
    

関連項目:

dcliコマンドの詳細な構文は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。

1.5 Oracle Loader for Hadoopの設定

Oracle Loader for Hadoopをインストールする前に、必要なソフトウェアがあることを確認します。

1.5.1 ソフトウェア要件

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

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

    • 必要なパッチを含むOracle Database 11gリリース2 (11.2.0.2)

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

    • Oracle Database 12c


    注意:

    Oracle Database 11gリリース2 (11.2.0.2)でOracle Loader for Hadoopを使用するには、Oracle Bug#11897896に対処する個別パッチを最初に適用する必要があります。このパッチを入手するには、http://support.oracle.comにアクセスしてバグ番号を検索します。

  • Cloudera's Distribution including Apache Hadoopバージョン3 (CDH3)またはバージョン4 (CDH4)、あるいはApache Hadoop 1.0 (旧0.20.2)。

  • Hive表からデータをロードする場合はHive 0.7.0、0.8.1、0.9.0または0.10.0

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

Oracle Loader for Hadoopは、Oracle Database 11gリリース2クライアント・ライブラリおよびOracle Database 11.2.0.2または11.2.0.3に接続するためのOracle Instant Clientライブラリに同梱されています。

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

  1. oraloader-version.x86_64.zipの内容をHadoopクラスタのディレクトリに解凍します。このアーカイブには次の2つのアーカイブが含まれます。

    • oraloader-version-h1.x86_64.zip: CDH3およびApache Hadoop 1.0で使用

    • oraloader-version-h2.x86_64.zip: CDH4で使用

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

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

    doc
    jlib
    lib
    examples
    
  3. OLH_HOMEという変数を作成し、その変数をインストール・ディレクトリに設定します。

  4. $OLH_HOME/jlib/*HADOOP_CLASSPATH変数に追加します。

  5. Oracle NoSQL Databaseリリース2からデータを読み取る場合、$KVHOME/lib/kvstore.jarHADOOP_CLASSPATH変数に追加します。

  6. Oracle WalletをOracle Database 12cで使用している場合は、次のライブラリをデータベース・システムのORACLE_HOME/jlibからHadoopクラスタのOLH_HOMEにコピーしてください。

    oraclepki.jar
    osdt_cert.jar
    sdt_core.jar
    

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

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

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

  1. oraloader-version.zipの内容をOracle Databaseシステムのディレクトリに解凍します。

  2. Hadoopクラスタにインストールしたものと同じバージョンのソフトウェア(CDH3またはCDH4)を解凍します。

  3. OLH_HOMEという変数を作成し、その変数をインストール・ディレクトリに設定します。次の例では、Bashシェル構文を使用しています。

    $ export OLH_HOME="/usr/bin/oraloader-2.2.0-h2/"
    
  4. Oracle Loader for HadoopのJARファイルをCLASSPATH環境変数に追加します。次の例では、Bashシェル構文を使用しています。

    $ export CLASSPATH=$CLASSPATH:$OLH_HOME/jlib/*
    

1.6 Oracle Data Integrator Application Adapter for Hadoopの設定

次の各項で、Oracle Data Integrator (ODI) Application Adapter for Hadoopのインストール要件について説明します。

1.6.1 システム要件および動作要件

Oracle Data Integrator Application Adapter for Hadoopを使用するには、まず、Oracle Data Integratorが必要です。これは、Oracle Big Data Connectorsとは別にライセンス供与されます。ODIは次のOracle Webサイトからダウンロードできます。

http://www.oracle.com/technetwork/middleware/data-integrator/downloads/index.html

Oracle Data Integrator Application Adapter for Hadoopには、Oracle Data Integrator 11.1.1.6.0以上が必要です。

インストールを実行する前に、システム要件および動作保証のドキュメントを読み、インストール先の環境が、これからインストールする製品の最小インストール要件を満たしていることを確認します。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Networkからアクセスできます。

http://www.oracle.com/technetwork/middleware/data-integrator/overview/index.html

1.6.2 テクノロジ固有の要件

サポートされているテクノロジおよびバージョンのリストには、次のOracle Technical Networkからアクセスできます。

http://www.oracle.com/technetwork/middleware/data-integrator/overview/index.html

1.6.3 Oracle Data Integrator Application Adapter for Hadoopの場所

Oracle Data Integrator Application Adapter for Hadoopは、Oracle Data Integrator付属CDのxml-referenceディレクトリで入手できます。

1.6.4 トポロジの設定

トポロジを設定するには、第4章「Oracle Data Integrator Application Adapter for Hadoop」を参照してください。

1.7 Oracle R Connector for Hadoopの設定

Oracle R Connector for Hadoopでは、Hadoop側とクライアントLinuxシステムへのソフトウェア環境のインストールが必要です。

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

Oracle Big Data Applianceでは、追加ソフトウェアのインストールや構成なしにOracle R Connector for Hadoopがサポートされます。ただし、特定のRパッケージがインストールされていることを確認する必要があります。詳細は、「追加のRパッケージのインストール」を参照してください。

ただし、その他のHadoopクラスタでOracle R Connector for Hadoopを使用するには、必要な環境を作成する必要があります。

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

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

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


注意:

HadoopクラスタにHADOOP_HOMEを設定しないでください。CDH4では必要なく、JobTrackerのステータスのチェック時にOracle R Connector for Hadoopと競合します。その結果、エラー「Something is terribly wrong with Hadoop MapReduce.」が発生します。

他のアプリケーションでHADOOP_HOMEを設定する必要がある場合は、/etc/bashrcファイルにHADOOP_LIBEXEC_DIRも設定してください。次に例を示します。

export HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec

1.7.1.2 HadoopクラスタへのSqoopのインストール

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


注意:

Oracle DatabaseへのデータのロードにOracle Loader for Hadoopをドライバとして使用する場合もSqoopが必要です。Sqoopは、データベースからHDFSへのデータのコピーや自由形式の問合せのデータベースへの送信などの関数を実行します。OLHドライバでは、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からダウンロードします

    http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

  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.7.1.3 HadoopクラスタへのHiveのインストール

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

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

  1. 代理店(ClouderaまたはApache)で提供されるHiveインストール手順に従います。

  2. インストールが適切に機能することを確認します。

  3. $ hive -H
    usage: hive
     -d,--define <key=value>          Variable subsitution to apply to hive
                                      commands. e.g. -d A=B or --define A=B
        --database <databasename>     Specify the database to use
     -e <quoted-query-string>         SQL from command line
     -f <filename>                    SQL from files
     -H,--help                        Print help information
     -h <hostname>                    connecting to Hive Server on remote host
        --hiveconf <property=value>   Use value for given property
        --hivevar <key=value>         Variable subsitution to apply to hive
                                      commands. e.g. --hivevar A=B
     -i <filename>                    Initialization SQL file
     -p <port>                        connecting to Hive Server on port number
     -S,--silent                      Silent mode in interactive shell
     -v,--verbose                     Verbose mode (echo executed SQL to the
                                      console)
    
  4. コマンドが失敗したり、出力に警告が表示される場合、Hiveインストールを修正します。

1.7.1.4 HadoopクラスタへのRのインストール

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

http://www.oracle.com/technetwork/indexes/downloads/r-distribution-1532464.html

あるいは、次のComprehensive R Archive Network (CRAN)のWebサイトからRをダウンロードできます。

http://www.r-project.org

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

ORCHは、Oracle R Connector for Hadoopパッケージの名称です。

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

  1. サポートするソフトウェアの環境変数を設定します。

    $ export JAVA_HOME="/usr/lib/jdk6"
    $ export R_HOME="/usr/lib64/R"
    $ export SQOOP_HOME "/usr/lib/sqoop"
    
  2. ダウンロードしたファイルを解凍します。

    $ unzip orch-version.zip
    Archive:  orch-linux-x86_64-2.1.0.zip
     extracting: ORCH2.1.0/ORCH_2.1.0_R_x86_64-unknown-linux-gnu.tar.gz
      inflating: ORCH2.1.0/ORCHcore_2.1.0_R_x86_64-unknown-linux-gnu.tar.gz
      inflating: ORCH2.1.0/OREbase_1.3.1_R_x86_64-unknown-linux-gnu.tar.gz
      inflating: ORCH2.1.0/OREstats_1.3.1_R_x86_64-unknown-linux-gnu.tar.gz
    
  3. 新しいディレクトリに変更します。

    $ cd ORCH2.1.0
    
  4. 次の順序でパッケージをインストールします。

    $ R --vanilla CMD INSTALL OREbase_1.3.1_R_x86_64-unknown-linux-gnu.tar.gz 
    $ R --vanilla CMD INSTALL OREstats_1.3.1_R_x86_64-unknown-linux-gnu.tar.gz 
    $ R --vanilla CMD INSTALL ORCHcore_2.1.0_R_x86_64-unknown-linux-gnu.tar.gz 
    $ R --vanilla CMD INSTALL ORCH_2.1.0_R_x86_64-unknown-linux-gnu.tar.gz
    $ R --vanilla CMD INSTALL ORCHstats_2.1.0_R_x86_64-unknown-linux-gnu.tar.gz
    

1.7.2 追加Rの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 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.us.oracle.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.us.oracle.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.7.3 Rユーザーへのリモート・クライアント・アクセスの提供

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

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

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

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

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

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

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

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

  • ORCH Rパッケージ。

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

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

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

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

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

  1. クライアント・システムにCDH3または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/hadoop fs -ls /user
    
  4. ファイルのリストが表示されたら終了です。表示されない場合、Hadoopクラスタが稼働していることを確認します。それでも問題が修正されない場合は、クライアントHadoopのインストールをデバッグする必要があります。

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

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

1.7.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.7.3.5 HadoopクライアントへのORCHパッケージのインストール

「Hadoopへのソフトウェアのインストール」の説明に従って、クライアント・システムでORCHのインストール手順を実行します。

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

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


関連項目:

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



脚注の説明

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