Oracle Big Data Connectorsを使用すると、Apache Hadoopクラスタに格納されているデータへのアクセスが簡単になります。Oracle Big Data Applianceまたはコモディティ・ハードウェア上で稼働するHadoopクラスタでの使用に対してライセンス供与されます。
次のコネクタがあります。
Oracle SQL Connector for Hadoop Distributed File System: 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 Shell for Hadoop Loaders: Oracle Loader for Hadoop、Oracle SQL Connector for HDFS、およびCopy to Hadoop (Big Data SQLの機能)に対して、簡単に使用できるコマンドライン・インタフェースを提供するヘルパー・シェルです。コマンドライン・リコール、履歴、親プロセスからの環境変数の継承、新規または既存の環境変数の設定およびコマンドラインでの環境切り替えの実行など、基本的なシェル機能を備えています。
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 Datasource for Hadoop: SerDes、HCatalog、InputFormatおよびStorageHandlerをサポートするHadoop APIを使用する以外に、Hive SQLやSpark SQLを使用して、Oracle Databaseのマスター・データに直接、すばやく、パラレルかつ安全に、一貫してアクセスできます。
それぞれのコネクタでは、Oracle Databaseと、Hadoopクラスタまたはクラスタに対してHadoopクライアントとして設定した外部システムにソフトウェア・コンポーネントをインストールする必要があります。Oracle Databaseでの追加のアクセス権限が必要な場合もあります。Oracle Database and Apache Hadoopとの統合の詳細は、動作保証マトリックスを参照してください。
関連項目:
My Oracle Support情報センター: Big Data Connectors (ID 1487399.2)およびその関連情報センター。
エンタープライズでは、複数のソースから生じる大量のデータを参照します。分析した場合にエンタープライズにとってきわめて大きな価値となる膨大な量のデータのほんの一例として、Webログのクリックストリーム・データ、GPS追跡情報、小売事業のデータ、センサー・データおよびマルチメディア・ストリームなどがあります。生のデータ・フィードから取得する非構造化および半構造化情報は、それ自体ほとんど価値はありません。実際に価値のある情報を抽出するには、データを処理する必要があります。処理されたデータは、その後データベースに格納して管理できます。このデータをデータベースの構造化データと一緒に分析することで、新たな理解が得られ、実質的なビジネス利益につながります。
MapReduceは、分散システムでデータを処理するための並列プログラミング・モデルです。大量のデータを迅速に処理し、線形的に拡張できます。特に、非構造化データおよび半構造化データのバッチ処理のメカニズムとして効果的です。MapReduceは、比較的下位の操作を一連のキーと値を通じて計算に抽象化します。
MapReduceジョブを簡単に定義すると、2つのフェーズ(マップ・フェーズとリデュース・フェーズ)が連続的に交代する操作になります。各マップ・フェーズは、入力データの各レコードに変換機能を適用して、キーと値のペアで表現される一連のレコードを作成します。マップ・フェーズからの出力は、リデュース・フェーズへの入力になります。リデュース・フェーズでは、マップ出力レコードはキーと値のセットにソートされるため、セット内のすべてのレコードのキーの値が同じになります。リデューサ関数がセット内のすべてのレコードに適用され、一連の出力レコードがキーと値のペアで作成されます。マップ・フェーズは、各レコードに対して論理的に並列で実行され、リデュース・フェーズは、すべてのキーの値に対して並列で実行されます。
注意:
Oracle Big Data Connectors 3.0以降は、MapReduceのYet Another Resource Negotiator (YARN)実装をサポートしています。
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サイトを参照してください
Apache Hadoopの詳細は、次のWebサイトを参照してください
Oracle Big Data Connectorsは、Oracle Technology NetworkまたはOracle Software Delivery Cloudからダウンロードできます。どちらのサイトも複数のブラウザに対応しています。
注意:
Oracle Big Data Applianceのユーザーは、外部ソースからOracle Big Data Connectorsをダウンロードする必要はありません。Oracle Big Data Connectorsは、Oracle Big Data Applianceデプロイメント・バンドルに含まれています。Oracle Big Data Applianceオーナーズ・ガイドのOracle Big Data Connectorsの有効化および無効化を参照してください。他のすべてのユーザーは、ここで説明するようにソフトウェアをダウンロードする必要があります。Oracle Technology Networkからダウンロードするには、次の手順を実行します。
http://www.oracle.com/technetwork/bdc/big-data-connectors/downloads/index.html
各コネクタの名前をクリックして、インストール・ファイルを含むzipファイルをダウンロードします。
Oracle Software Delivery Cloudからダウンロードするには、次の手順を実行します。
すべてのOracle Big Data Connectorsは、CDH (Cloudera Distribution Including Apache Hadoop)とHDP (Hortonworks Data Platform)の両方で動作します。
CDHおよびHDPの現在サポートされているリリースについては、Oracle Big Data Connectors動作保証マトリックスを参照してください
.Oracle SQL Connector for Hadoop Distributed File System (HDFS)は、Oracle Databaseが稼働するシステムにインストールして構成します。Hive表がデータソースとして使用される場合、ユーザーがHiveにアクセスするHadoopクライアントにOracle SQL Connector for HDFSもインストールして実行する必要があります。
Oracle Big Data Applianceでは、インストール環境にOracle Big Data Connectorsを含めるオプションがあります。構成生成ユーティリティでこれを選択した場合は、アプライアンスでOracle SQL Connector for HDFSをすでに使用できます。(Big Data Applianceオーナーズ・ガイドの第4章Oracle Big Data Appliance構成生成ユーティリティの使用を参照してください。)
この項の内容は次のとおりです。
Oracle SQL Connector for HDFSには、次のソフトウェアが必要です。
Hadoopの要件:
CDH (Cloudera Distribution Including Apache Hadoop)またはHDP (Hadoop Data Platform)の動作保証済リリース。
Apache Hive 1.1.0または1.2.1 (Hive表にアクセスする場合は必須、それ以外はオプション)。
Java Development Kit (JDK)。推奨バージョンについては、Hadoopソフトウェアの代理店(ClouderaまたはApache)に確認してください。
サポートされているCDHおよびHDPのリリースについては、Oracle Big Data Connectors動作保証マトリックスを参照してください
Oracle Big Data Applianceは、すでにこれらの要件を満たしています。コモディティ・サーバー・プラットフォーム上でCDHまたはHDPを使用している場合は、システムがそれらを満たしていることを確認してください。
Oracle DatabaseシステムおよびHadoopクライアント・システムの要件:
Oracleで現在サポートされているOracle Databaseのバージョン
Hadoopクラスタにインストールされているのと同じバージョンのHadoop (CDH5、またはHortonworks Data Platform 2.4.0および2.5.0)
Kerberosを使用してセキュアなHadoopクラスタを構成している場合は、データベース・システムのHadoopクライアントを、セキュアなクラスタにアクセスするように設定する必要があります。
Hadoopクラスタにインストールされているのと同じバージョンのJDK
注意:
Oracle SQL Connector for HDFSは、データベース・システムのOSプラットフォーム上のHadoopクライアントを必要とします。これはLinuxシステムでは単純です。Linux以外のプラットフォームでは、Hadoopクライアントのtarballをインストールする必要があります。Oracle Blogの投稿Connecting Hadoop with Oracleを参照してください。詳細は、My Oracle Supportの次のドキュメントを参照してください。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代理店(ClouderaまたはApache)によって提供されるHadoopクライアントをダウンロードしてインストールします。次の例は、Oracle Big Data Appliance以外のCDHシステムにHadoopクライアントを接続する方法を示しています。次のステップを使用して、クライアントをインストールし、Kerberosで保護された環境または保護されていない環境で使用するために構成し、HDFSアクセスを検証するためにテストできます。
この場合、Kerberosアクセスも設定し(Kerberosがインストールされている場合)、HDFSアクセスが確実に動作するように最終テストを含める必要があります。
次のいずれかの方法を使用してファイルを取得します。
Clouderaのtarballダウンロード・ページから、tarballをダウンロードします。ファイル名のHadoopバージョン(hadoop-2.5.0-cdh5.2.5.tar.gzなど)が、Hadoopクラスタのバージョンと一致していることを確認してください。
Cloudera Managerでhdfsサービスをクリックし、Download Client Configurationアクションを選択します。
ファイルを抽出してデータベース・システムの任意の永続パスにコピーします。
HADOOP_HOME環境変数をこのパスに設定し、PATH変数にHADOOP_HOME/binを追加します。
JAVA_HOMEが、Hadoopインストールで必要とされるバージョンのJDKインストールを指していることを確認します。
クラスタがKerberosで保護されている場合は、Kerberos認証を許可するようにOracleシステムを構成します。「セキュアなHadoopクラスタでのOracle SQL Connector for HDFSの使用」を参照してください。
Oracle DatabaseシステムからHDFSへのアクセスをテストします。
Oracle Databaseアカウントを使用して、Oracle Databaseが稼働しているシステムにログインします。
$ hdfs dfs -ls /user
場合によっては、Hadoopの実行可能ファイルが格納されているディレクトリを環境変数に追加する必要があります。CDHのデフォルト・パスは/usr/bin
です。
Hadoopクラスタ上で直接コマンドを実行する場合と同じディレクトリ・リストが表示されます。表示されない場合、最初にHadoopクラスタが稼働していることを確認します。問題が続く場合、Oracle DatabaseからHadoopクラスタ・ファイル・システムにアクセスできるようにHadoopクライアント構成を修正する必要があります。
Oracle RACシステムの場合、各Oracle Databaseインスタンスに対してこの手順を繰り返します。
追加システムでのHadoopクライアントの設定
Oracle Databaseシステムに加え、他のサーバーでHadoopクライアントを設定することもできます。その場合、この項に記載されている手順を使用して、競合しないように同じバージョンのCDHまたはApache Hadoopをインストールします。
Oracle DatabaseシステムにOracle SQL Connector for HDFSをインストールするには、次の手順を実行します。
データベース・システム上のこの必須インストールの他に、互換Hadoopクライアントとして構成されたどのシステムにもOracle SQL Connector for HDFSをインストールできます。こうすることで、そのノードからOracle Database外部表を作成できるようになります。
Oracle DatabaseシステムにOracle SQL Connector for HDFSをインストールするには、次の手順を実行します。
Oracle Databaseが稼働するシステムのディレクトリにzipファイルをダウンロードします。
oraosch-
<version>
.zip
の内容を解凍します。
$ unzip oraosch-<version>.zip
Archive: oraosch-<version>.zip
extracting: orahdfs-<version>.zip
inflating: README.txt
orahdfs-
<version>
.zip
を永続ディレクトリに解凍します。
$ unzip orahdfs-<version>.zip
unzip orahdfs-<version>.zip
Archive: orahdfs-<version>.zip
creating: orahdfs-<version>/
creating: orahdfs-<version>/log/
inflating: orahdfs-<version>/examples.zip
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
inflating: orahdfs-<version>/bin/hdfs_stream.cmd
解凍したファイルの構造は、例1-1のようになります。examples.zip
ファイルは解凍されていません。このサンプルを使用する場合は、後でそのファイルを解凍します。
orahdfs-<version>/bin/hdfs_stream
Bashシェル・スクリプトをテキスト・エディタで開き、必要に応じて、スクリプトのコメントに示される変更を行います。
hdfs_streamスクリプトには環境変数の設定は継承されないため、Oracle SQL Connector for HDFSで環境変数が必要な場合はこのスクリプトに設定します。
PATH
: hadoop
スクリプトが/usr/bin:bin
(hdfs_stream
で最初に設定されるパス)にない場合は、/usr/lib/hadoop/bin
などのHadoop binディレクトリに追加します。
JAVA_HOME
: HadoopによってJavaが検出されない場合、この変数をJavaのインストール・ディレクトリに設定します。(/usr/bin/java
など)。
各環境変数の詳細は、スクリプトのコメントを参照してください。
hdfs_stream
スクリプトは、Oracle SQL Connector for HDFSで作成されたOracle Database外部表のプリプロセッサです。
クラスタがKerberosで保護されており、アカウントでまだKerberosチケットを持っていない場合、それを取得します。
$ kinit
Kerberosチケットの取得および管理の詳細は、このガイドの「セキュアなHadoopクラスタでのOracle SQL Connector for HDFSの使用」を参照してください。
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ホーム・ディレクトリを表します。
Oracle RACシステムの場合、同じパスの場所を使用し、各Oracleインスタンスに対して前述のステップを繰り返します。
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';
Hive表へのアクセスをサポートするには、次の手順を実行します。
システムがHiveクライアントして構成されていることを確認します。
HiveのJARファイルとconfディレクトリをHADOOP_CLASSPATH
環境変数に追加します。各種のHadoop製品間でJARが競合しないようにするため、HADOOP_CLASSPATH
は、グローバルに変更するのではなく、ローカル・シェル初期化スクリプトに設定することをお薦めします。複数のJARファイル・パスが
HADOOP_CLASSPATH
にある場合は、現在の製品のJARを最初にリストしてください。
次の図に、データの流れとコンポーネントの場所を示します。
図1-1 HDFSおよびデータ・ポンプ・ファイルをサポートするOracle SQL Connector for HDFSのインストール
解凍したファイルの構造は、次の例のようになります。
例1-1 orahdfsディレクトリの構造
orahdfs-<version>
bin/
hdfs_stream
hdfs_stream.cmd
doc/
README.txt
jlib/
ojdbc7.jar
oraloader.jar
ora-hadoop-common.jar
oraclepki.jar
orahdfs.jar
osdt_cert.jar
osdt_core.jar
log/
examples.zip
CREATE SESSION
CREATE VIEW
Oracle SQL Connector for HDFSのインストール時に作成されるOSCH_BIN_PATH
ディレクトリに対するREAD
およびEXECUTE
。書込みアクセス権は誰にも付与しないでください。Oracle SQL Connector for HDFSを使用する予定のユーザーにのみEXECUTE
を付与します。
外部表を格納するデータベース・ディレクトリに対するREAD
とWRITE
、またはCREATE ANY DIRECTORY
システム権限。Oracle RACシステムの場合、このディレクトリは、すべてのOracleインスタンスでアクセスできる共有ディスク上に存在する必要があります。
データをOracleデータベースにコピーする表領域と割当て。オプション。
次の例に、これらの権限をHDFSUSER
に付与するSQLコマンドを示します。
注意:
Oracle SQL Connector for HDFSを使用する外部表を問い合せる場合にユーザーに必要な権限は、Oracle Database 12c以降の場合はREAD
権限、およびそれより古いバージョンのデータベースの場合は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;
Oracle Databaseシステム、Hadoopクラスタ・ノード、またはHadoopクライアントとして設定された個別システムにOracle SQL Connector for HDFSがインストールされている場合、OSCHを使用するためにログインするOSレベル・ユーザーは、必ずシェル変数HADOOP_CLASSPATH
にアクセスする必要があります。この変数には、Hadoopクラスタ上のOSCHパス(path
/orahdfs-<version>/jlib/*
)が含まれる必要があります
次の例のように、OSCHパスが現在のHADOOP_CLASSPATH
の前に付加されるように、HADOOP_CLASSPATHを設定します。最初に配置されたOSCHは、パス内の他のJARに優先します。
$ export HADOOP_CLASSPATH="/etc/orahdfs-<version>/jlib/*:$HADOOP_CLASSPATH"
ユーザーが、Oracle SQL Connector for HDFSを使用して作成された外部表にアクセスする場合、外部表は、Hadoopクライアントのように動作します。Oracle Databaseが稼働しているシステムで、それはOracleプロセスのOSユーザー(通常はoracle
)として接続します。OSCHが動作するためには、このアカウントに、すべてのOSCHユーザーのファイルに対する読取り権限が必要です。保護されていないクラスタでは、これらのファイルは誰でも読取り可能ですが、Kerberosで保護されたクラスタでは、このアクセスにKerberosチケットが必要です。
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 SQL Developerは、多くの製品の中でも特にOracle DatabaseおよびOracle Big Data Connectorsとの統合を実現した無償のグラフィカルIDEです。これには、Oracle Big Data Connectorsへのアクセスとその使用を支援するウィザードが付属しています。Oracle SQL DeveloperをダウンロードしてOracle Big Data Connectorsと併用するためにそれを構成する方法の詳細は、このガイドの「Oracle SQL DeveloperとOracle Big Data Connectorsの併用」を参照してください。
Oracle Loader for Hadoopを設定するには、次の各項の手順に従います。
Oracle Loader for Hadoopには、次のソフトウェアが必要です。
CDHまたはHDPの動作保証済リリース。
Oracle Big Data Connectors動作保証マトリックスを参照してください
Oracleで現在サポートされているバージョンのOracle Databaseを実行しているターゲット・データベース・システム。
Oracle Big Data Applianceは、すでにこれらの要件を満たしています。コモディティ・サーバー・プラットフォーム上でCDHまたはHDPを使用している場合は、システムがそれらを満たしていることを確認してください。
一般的なインストールでは、Oracle Loader for HadoopはHadoopクラスタまたはHadoopクライアントからOracle Databaseシステムに接続できます。接続できない場合(複数のシステムが異なるネットワーク上にある場合など)は、Oracle Loader for Hadoopをオフライン・データベース・モードで使用できます。
オフライン・データベース・モードをサポートするには、2つのシステムにOracle Loader for Hadoopをインストールする必要があります。
Hadoopクラスタ、またはHadoopクライアントとして設定されているシステム。
Oracle DatabaseシステムまたはOracle Databaseへのネットワーク・アクセスを備えたシステム(次の手順を参照)。
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 Shell for Hadoop Loaders (OHSH)は、Big Data Connectorsと統合されます。これには、Oracle Loader for Hadoop (OLH)およびOracle SQL Connector for Hadoop Distributed File System (OSCH)を使用してHadoopおよびHiveからOracle Database表にコンテンツをロードするために使用できる、一連の宣言的コマンドが用意されています。Copy to Hadoopを使用してOracle Database表からHadoopおよびHiveにコンテンツをロードすることもできます。
前提条件
OHSHは、OLHおよびOSCHと連携して、次のいずれかの環境からOracle Database表にデータをロードできます。
Hadoopクライアント
エッジ・ノード
Hadoopノード
Oracle Databaseサーバー
OHSHは、前述のどの環境でも設定できます(Hadoopクライアント、Hadoopノード、エッジ・ノードまたはOracle Databaseサーバー)。OHSHを使用するには、これらの環境のいずれか1つにソフトウェアをインストールする必要があります。
各環境には、固有の前提条件があります。次の表内の関連する列を確認して、OHSHを実行することにした環境に不足しているソフトウェア・パッケージをインストールします。表に示すとおり、JDBC接続はすべてのケースで必要です。
表1-1 OHSHを実行するための前提条件
OHSHを実行する予定の環境 | 前提条件 |
---|---|
Hadoopノード、Hadoopクライアントまたはエッジ・ノード 注意: Oracle Big Data Appliance上でBig Data Connectorsがライセンス付与されている場合、前提条件となるすべてのソフトウェアとOHSH自体が事前にインストールされます。 |
|
Oracle Databaseサーバー |
|
Oracle Shell for Hadoop Loadersのインストール
Oracle Shell for Hadoop Loadersを設定するには、次の手順に従います。この手順は、Hadoopクライアント、エッジ・ノードもしくはHadoopノード上、またはOracle Databaseサーバー上での設定に適用されます。
OHSHを実行する予定のシステム上のディレクトリにohsh-<version>.zipの内容を解凍します。
解凍すると、README.txt
ファイル、サンプル・パッケージ(examples.zip
)および次の4つのサブディレクトリを含む、ohsh-<version>というディレクトリが作成されます。
README.txt examples.zip /bin /conf /doc /jlib
自分でexamples.zip
を解凍する必要があります。
ohsh-<version>ディレクトリは、これらの手順では後で<OHSH_HOME>と呼ばれます。
README.txt
に記載された手順に従い、Oracle Shell for Hadoop Loadersを構成します。次は、Hadoopノード上でOracle Shell for Hadoop Loadersをインストールして構成する手順を示します。
この手順は、Hadoopノードでのインストールのみに適用されます。他のシステムでのインストールの場合は、OHSH README.txt
ファイルを参照してください。
注意:
次の手順では、一部の変数の値として設定する絶対パスにプレースホルダを使用します。これらはイタリック・フォントであり、大カッコで囲まれます。たとえば、<OHSH_HOME>は、OHSHがインストールされているパスです。関連項目:
インストール・ディレクトリ(<OHSH_HOME>
)にexamples.zip
を解凍します。解凍したexamplesディレクトリ内のREADME.txt
ファイルには、サンプル内のOHSHロード方式を実行する方法が示されています。
Big Data Connectorsユーザーズ・ガイド内:
Oracle Loader for Hadoopの設定
Oracle SQL Connector for Hadoop Distributed File Systemの設定
Oracle Big Data Connectorsブログ領域内:
OHSHのジョブが実行されると、そのジョブに関するステータスとその他の情報がバックエンド・データベースに記録されます。OHSHのコマンドラインから情報にアクセスするには、まずデータベースへの接続を構成する必要があります。
構成ステップ
ジョブ履歴を格納するデータベース・インスタンスを有効にするには、conf/smartloader-conf.xml
内の次のプロパティを構成します。
oracle.hadoop.smartloader.diagnostics.jobhistory.jdbc.driver
サポートされているバックエンド・データベース・タイプに対応するJDBCドライバを指定します。現在は、MYSQL
とORACLE
が有効な値です。このプロパティが指定されていない場合、ジョブ履歴のコマンドは失敗します。
追加でプロパティを設定する必要があります。これらは、サポートされるバックエンド・データベースとして定義されているデータベース・タイプによって異なります。
jdc.driver
= ORACLE
の場合:
oracle.hadoop.smartloader.diagnostics.jobhistory.jdbc.oracleConnectId
tnsnames.ora
ファイルで定義されているTNSエントリ名。oracle.hadoop.smartloader.diagnostics.jobhistory.jdbc.oracleWalletDir
JDBCを介してOracle Databaseスキーマに接続するために使用するOracle Walletを含むOSディレクトリ。
oracle.hadoop.smartloader.diagnostics.jobhistory.jdbc.oracleTnsDir
OHSHを実行しているノード上のディレクトリへのファイル・パス。このディレクトリには、sqlnet.ora
やtnsnames.ora
などのSQL*Net構成ファイルが含まれています。通常、これは${ORACLE_HOME}/network/admin
です。
注意:
HadoopクライアントからOHSHを実行しており、Oracle Walletを使用する場合は、Hadoopクライアント上の任意のディレクトリにtnsnames.ora
およびウォレット・ファイルをコピーします。jdbc.driver
= MYSQL
の場合:
oracle.hadoop.smartloader.diagnostics.jobhistory.jdbc.mysqlConnectUrl
MySQLデータベースへのJDBC接続の確立に使用するURL
oracle.hadoop.smartloader.diagnostics.jobhistory.jdbc.mysqlUser
ジョブ履歴スキーマのMySQLユーザー
oracle.hadoop.smartloader.diagnostics.jobhistory.jdbc.mysqlPW
MySQLユーザー・アカウントのパスワード
OHSHジョブの監視のためのコマンド
この構成が完了すると、次のOHSHコマンドを実行できるようになります。
ohsh> show job <job_id>
IDで指定されたジョブの詳細が示されます。
ohsh> show job summary <job_id>
IDで指定された、完了したジョブのパフォーマンスが示されます。
ohsh> show job abstract <job_id>
ジョブの機能の説明が示されます。
ohsh> show jobs [failed|running|completed|finished] [extended] [<integer>]
特定のジョブ・ステータスの最後n
個のジョブが示されます。
最初のパラメータは、ジョブ・ステータスを指定します。ステータスが指定されていない場合は、ジョブ・ステータスに関係なく、すべてのジョブが示されます。
2番目のパラメータは、詳細を表示するかどうかを指定します。
3番目のパラメータは、指定されたステータスの最後n
個のジョブを示すことを指定します。n
が指定されていない場合は、そのステータスのすべてのジョブが示されます。
ohsh> truncate jobs [<integer>]
データベースから最後n
個のジョブが削除されます。整数が指定されていない場合、このコマンドではすべてのジョブが削除されます。
Oracle XQuery for HadoopをHadoopクラスタにインストールして構成します。Oracle Big Data Applianceを使用している場合、このソフトウェアはすでにインストールされています。
次のトピックでは、このソフトウェアのインストールについて説明します。
Oracle Big Data Applianceリリース4.3以降は、次の要件を満たしています。ただし、サードパーティのクラスタにOracle XQuery for Hadoopをインストールしている場合は、これらのコンポーネントがインストールされていることを確認する必要があります。
Java 8.xまたは7.x。
CDH (Cloudera's Distribution including Apache Hadoop)またはHDP (Hortonworks Data Platform)の動作保証済リリース
Oracle NoSQL Databaseに対する読取りおよび書込みをサポートするOracle NoSQL Database 3.xまたは2.x
Oracleデータベースへの表の書込みをサポートするOracle Loader for Hadoop 3.8.0以上
関連項目:
サポートされているCDHおよびHDPのバージョンについては、Oracle Big Data Connectors動作保証マトリックスを参照してください次のステップに従って、Oracle XQuery for Hadoopをインストールします。
Oracle XQuery for Hadoopをインストールするには、次の手順を実行します。
oxh-
<version>
.zip
の内容をインストール・ディレクトリに解凍します。
$ unzip oxh-<version>-cdh-<version>.zip Archive: oxh-<version>-cdh-<version>.zip creating: oxh-<version>-cdh<version>/ creating: oxh-<version>-cdh<version>/lib/ creating: oxh-<version>-cdh<version>/oozie/ creating: oxh-<version>-cdh<version>/oozie/lib/ inflating: oxh-<version>-cdh<version>/lib/ant-launcher.jar inflating: oxh-<version>-cdh<version>/lib/ant.jar . . .
これで、Oracle XQuery for Hadoopを実行できます。
実行時間を最速にするには、ライブラリをHadoop分散キャッシュにコピーします。
Oracle XQuery for HadoopおよびサードパーティのすべてのライブラリをHDFSディレクトリにコピーします。ファイルのコピーに-exportliboozie
オプションを使用する場合は、「Oracle XQuery for Hadoopのオプション」を参照してください。あるいは、HDFSコマンドライン・インタフェースを使用してライブラリを手動でコピーすることもできます。
Oozieを使用する場合は、すべてのファイルで同じフォルダを使用します。「Oracle XQuery for HadoopアクションのOozieの構成」を参照してください
oracle.hadoop.xquery.lib.share
プロパティを設定するか、コマンドラインで-sharelib
オプションを使用して、Hadoop分散キャッシュのディレクトリを指定します。
Oracle Databaseへのデータのロードをサポートするには、次のようにOracle Loader for Hadoopをインストールします。
oraloader-
<version>
.x86_64.zip
の内容をHadoopクラスタまたはHadoopクライアントとして構成したシステムのディレクトリに解凍します。このアーカイブには、アーカイブとREADME
ファイルが含まれています。
Hadoopクラスタのディレクトリにアーカイブを解凍します。
unzip oraloader-<version>-h2.x86_64.zip
oraloader-
<version>
-h2
というディレクトリが、次のサブディレクトリとexamples.zipファイルともに作成されます。
doc jlib lib examples.zip
自分でexample.zip
ファイルを解凍します。
OLH_HOME
という環境変数を作成して、インストール・ディレクトリに設定します。HADOOP_CLASSPATH
は設定しないでください。
Oracle NoSQL Databaseへのデータのロードをサポートするには、インストール後、KVHOME
という環境変数をOracle NoSQL Databaseのインストール・ディレクトリに設定します。
注意:
NoSQL Database jarファイルをHADOOP_CLASSPATH
に追加しないでください。
Apache Solrによる索引をサポートするには、次のようにします。
HadoopクラスタにSolrがインストールされ、構成されていることを確認します。SolrはCloudera Searchに含まれており、Oracle Big Data Appliance上に自動的にインストールされます。
ドキュメントのロード先となるインストールしたSolrにコレクションを作成します。コレクションを作成するにはsolrctl
ユーティリティを使用します。
関連項目:
solrctl
ユーティリティに関しては、次のサイトのCloudera Searchユーザー・ガイドを参照してください。
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
環境変数をローカル・ディレクトリに設定してください。
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}
など)で参照できます。
「Apache Oozieからの問合せの実行」で説明しているように、Apache Oozieワークフローを使用して問合せを実行できます。ソフトウェアは、Oracle Big Data Applianceにすでにインストールおよび構成されています。
その他のHadoopクラスタの場合は、まずOracle XQuery for Hadoopアクションを使用するようにOozieを構成する必要があります。これらは、Oracle XQuery for Hadoopアクションをインストールする一般的なステップです。
具体的なステップは、Oozieがすでにインストールされているか、どのバージョンを使用しているかなどOozieのインストールによって決まります。
Oracle R Advanced Analytics for Hadoop (ORAAH)の概要は、このガイドの第IV部に記載されています。
リリース・ノート、インストール手順、総合的なリファレンス・マニュアルおよび現在のリリースの変更点の一覧は、Oracle Technology Networkで個別に公開されています。
各ORAAHリリースは、複数のOracle Big Data ApplianceリリースおよびOracle以外のプラットフォーム上で稼働するCDHのリリースと互換性があります。
完全なORAAH互換性マトリクスについては、My Oracle Supportのドキュメント2225633.1を参照してください。
Oracle Big Data Applianceでは、追加ソフトウェアのインストールや構成なしにOracle R Advanced Analytics for Hadoopがサポートされます。ただし、サードパーティのHadoopクラスタでOracle R Advanced Analytics for Hadoopを使用するには、必要な環境を作成する必要があります。
Oracle R Advanced Analytics for HadoopをサポートするサードパーティHadoopクラスタにいくつかのソフトウェア・コンポーネントをインストールする必要があります。
次のコンポーネントをサードパーティ・サーバーにインストールします。
CDH (Cloudera's Distribution including Apache Hadoop)またはHDP (Hadoop Data Platform)の動作保証済リリース、またはApache Hadoop 0.20.2+923.479以上。Oracle Big Data Connectors動作保証マトリックスを参照してください。
代理店で提供される手順を完了します。
Apache Hive 0.10.0+67以上
「サードパーティHadoopクラスタへのHiveのインストール」を参照してください。
Oracle Databaseに接続する関数を実行するためのSqoop 1.3.0+5.95以上。Oracle R Advanced Analytics for Hadoopでは、Sqoopをインストールまたはロードする必要はありません。
「サードパーティHadoopクラスタへのSqoopのインストール」を参照してください。
Mahout (orch_lmf_mahout_als.R
を実行する場合)。
Java Virtual Machine (JVM)、できればJava HotSpot Virtual Machine 6。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
HadoopクラスタのすべてのノードにOracle R Distribution 3.0.1とすべてのベース・ライブラリ。
「サードパーティHadoopクラスタへのRのインストール」を参照してください。
各RエンジンのORCHパッケージ。Hadoopクラスタの各ノードに必要です。
「サードパーティHadoopクラスタへのORCHパッケージのインストール」を参照してください。
OLHドライバ(オプション)をサポートするOracle Loader for Hadoop。
「Oracle Loader for Hadoopの設定」を参照してください。
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をインストールして構成するには、次の手順を実行します。
Hiveは、HiveQLと呼ばれる問合せ言語によって、代替のストレージおよび取得メカニズムをHDFSファイルに提供します。Oracle R Advanced Analytics for HadoopではHiveQLのデータ準備と分析機能が使用されますが、R言語構文も使用できます。
Hiveをインストールするには、次の手順を実行します。
Hadoopクラスタでは、すべてのノードにlibpng-devel
がインストールされている必要があります。コモディティ・ハードウェア上で稼働するクラスタを使用する場合も基本手順は同じです。ただし、dcli
ユーティリティを使用してコマンドをすべてのノード間に複製することはできません。dcli
ユーティリティの構文は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。
libpng-develをインストールするには、次の手順を実行します。
Hadoopクラスタの任意のノードにroot
としてログインします。
libpng-devel
がすでにインストールされているかどうかを確認します。
# dcli rpm -qi libpng-devel
bda1node01: package libpng-devel is not installed
bda1node02: package libpng-devel is not installed
.
.
.
すべてのサーバーにパッケージがインストール済の場合、この手順は省略できます。
ファイアウォールの外側にプロキシ・サーバー経由で接続する必要がある場合は、HTTP_PROXY
環境変数を設定します。この例では、dcliを使用します。これは、Oracle Big Data Applianceでのみ使用可能です。
# dcli export HTTP_PROXY="http://proxy.example.com"
yum
ディレクトリに移動します。
# cd /etc/yum.repos.d
使用するLinuxのバージョンに適した構成ファイルをダウンロードして構成します。
Enterprise Linux 5 (EL5)の場合:
yum構成ファイルをダウンロードします。
# wget http://public-yum.oracle.com/public-yum-el5.repo
テキスト・エディタでpublic-yum-el5.repo
を開き、次のように変更します。
el5_latest
の下で、enabled=1
と設定します。
el5_addons
の下で、enabled=1
と設定します。
変更を保存し、終了します。
他のOracle Big Data Applianceサーバーにファイルをコピーします。
# dcli -d /etc/yum.repos.d -f public-yum-el5.repo
Oracle Linux 6 (OL6)の場合:
yum構成ファイルをダウンロードします。
# wget http://public-yum.oracle.com/public-yum-ol6.repo
テキスト・エディタでpublic-yum-ol6.repo
を開き、次のように変更します。
ol6_latest
の下で、enabled=1
と設定します。
ol6_addons
の下で、enabled=1
と設定します。
変更を保存し、終了します。
他のOracle Big Data Applianceサーバーにファイルをコピーします。
# dcli -d /etc/yum.repos.d -f public-yum-ol6.repo
すべてのサーバーにパッケージをインストールします。
# 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
.
.
.
すべてのサーバーでインストールが正常に終了したことを確認します。
# 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.
.
.
.
Rユーザーは、Hadoopクラスタで自身のプログラムをMapReduceジョブとして実行しますが、通常、そのプラットフォームでの個別アカウントは保有していません。かわりに、外部Linuxサーバーでリモート・アクセスが提供されます。
HadoopクラスタへのアクセスをRユーザーに提供するには、次のコンポーネントをLinuxサーバーにインストールします。
Hadoopクラスタと同じバージョンのHadoop。インストールされていない場合、予想外の問題や障害が生じることがあります。
Hadoopクラスタと同じバージョンのSqoop。Oracle Database内外でのデータのコピーをサポートする場合にのみ必要です。
Mahout。Mahout ALS-WSアルゴリズムでorch.ls
関数を使用する場合にのみ必要です。
Hadoopクラスタと同じバージョンのJava Development Kit (JDK)。
ORCH Rパッケージ。
データベース・オブジェクトにアクセスできるようにするには、Oracle DatabaseへのOracle Advanced Analyticsオプションが必要です。その後、Hadoopクライアントにこの追加コンポーネントをインストールできます。
Oracle R Enterpriseクライアントのパッケージ。
クライアントにHadoopをインストールし、HDFSクライアントを使用する場合はHadoopの最小限の構成を行う必要があります。
クライアント・システムにHadoopをインストールして構成するには、次の手順を実行します。
Sqoopをインストールして構成する場合、「サードパーティHadoopクラスタへのSqoopのインストール」で説明する手順と同じ手順をクライアント・システムで完了します。
Rを使用したOracle Databaseへのフル・アクセスをサポートするには、Oracle R Enterpriseのクライアントのパッケージをインストールします。このパッケージがない場合、Oracle R Advanced Analytics for Hadoopでは、Oracle R Enterpriseで提供される高度な統計アルゴリズムを利用できません。
関連項目:
RおよびOracle R Enterpriseのインストールの詳細は、Oracle R Enterpriseユーザーズ・ガイド
Oracle Data Integratorを設定および使用するための手順は、Oracle Fusion Middlewareビッグ・データとOracle Data Integratorの統合を参照してください。
ソフトウェア要件
Oracle Datasource for Apache Hadoopには、次のソフトウェアが必要です。
Oracle Database 12c、11.2.0.4、またはOracle JDBCドライバ12cで問合せ可能な以前のOracle Databaseリリースを実行するターゲット・データベース・システム。
Oracle Database 11.2.0.4に加え、それ以前のOracle Databaseリリースでも動作する可能性があります。ただし、一部のSPLITパターンはOracle Database 12cに対する依存関係があるため、Oracle Databaseの以前のリリースへの問合せに使用する場合、並列hadoopジョブの分割を正確に行えない可能性があります。
Cloudera's Distribution including Apache Hadoop version 5 (CDH5)、Hortonworks Data Platform (HDP) 2.x、またはApache Hadoop 2.2.0から2.6.0。
Apache Hive 0.13.0、0.13.1または1.1.0 (Oracle Database表のデータを問い合せるため)。
Oracle Datasource for Apache Hadoopのインストール
HADOOP_CLASSPATH
を、Hiveクライアントを実行しているHadoopノードに$OD4H_HOME/jlib/*
を含めるように設定します。これがHADOOP_CLASSPATH
の最初にリストされていることを確認してください。
$OD4H_HOME/jlib内のOD4H jarがOD4Hを使用してHiveコマンドにアクセスできるようにします。これは次のいずれかの方法で実行できます。
1. HiveServer 2を構成し、jarをクラスタ全体で使用できるようにします。これにより、HiveクライアントBeelineと他のツール(SQL Developerなど)がOD4Hと連携できるようになります。
2. 特定のセッションに構成を分離するには、jarを手動で追加します。この方法は、OD4Hを使用する状況でOD4H jarが他のアプリケーションと干渉しないようにする場合に使用できます。
Hive CLIへのjarファイルの追加
jarファイルをHive CLIセッションに対してローカルに存在できるようにするには、次のようにHiveを使用してjarファイルを追加します。
$hive
hive> Add jar <jar name>
hive> Add jar <jar name>
HiveServer2を構成するステップは次のとおりです。
1. Cloudera Managerにログインします
2. 「Hive」をクリックします。
図1-3 Cloudera Manager
3. 「Status Summary」で、「HiveServer2」をクリックします。
4. 「Configuration」をクリックします。
5. 「Service Configuration」をクリックします。
6. 検索ボックスに「AUX」と入力します。プロパティ「サービス全体/詳細」の下で、HiveServer2に追加するjarを含むディレクトリを追加します。
7. Hiveを再起動します。
Hive CLIへのJarの追加
jarをHive CLIセッションに対してローカルで有効にするには、次のようにHive CLIを使用してjarを追加します。
$ hive
hive> Add jar <jar name>
hive> Add jar <jar name>
脚注の説明
脚注1:『Hadoop: The Definitive Guide, Third Edition』Tom White著(O'Reilly Media Inc., 2012, 978-1449311520)。