この章では、Oracle Big Data Applianceにインストールされるソフトウェアおよびサービスについて説明します。次の項について説明します。
Oracle Enterprise Managerプラグインでは、Oracle Exadata Database Machineや他のOracle Databaseインストールに使用するのと同じシステム監視ツールをOracle Big Data Applianceに使用できます。プラグインを使用して、インストールされたソフトウェア・コンポーネントのステータスを表や図式を使用した形式で表示したり、これらのソフトウェア・サービスの起動や停止を行えます。ネットワークおよびラック・コンポーネントの状態を監視することもできます。
ターゲット・クラスタを選択したら、次の主な分野にドリルダウンできます。
インフィニバンド・ネットワーク: インフィニバンド・スイッチとポートのネットワーク・トポロジとステータス。図2-1を参照してください。
Hadoopクラスタ: HDFS、MapReduceおよびZooKeeperのソフトウェア・サービス。
Oracle Big Data Applianceラック: サーバー・ホスト、Oracle Integrated Lights Out Manager (Oracle ILOM)サーバー、配電ユニット(PDU)、イーサネット・スイッチなどのハードウェア・ステータス。
図2-1に、インフィニバンド・スイッチについて表示された情報の一部を示します。
Oracle Enterprise Managerを使用してOracle Big Data Applianceを監視するには、次の手順を実行します。
プラグインをダウンロードしてインストールします。『Oracle Enterprise Manager System Monitoring Plug-inインストレーション・ガイドfor Oracle Big Data Appliance』を参照してください。
管理ユーザーとしてOracle Enterprise Managerにログインします。
「ターゲット」メニューから「ビッグ・データ・アプライアンス」を選択し、ビッグ・データ・ページを表示します。Oracle Enterprise Managerによって検出済のターゲットの全体的なステータスが表示されます。
詳細ページを表示するターゲット・クラスタを選択します。
ターゲット・ナビゲーション・ツリーを展開し、コンポーネントを表示します。すべてのレベルで情報を使用可能です。
ツリーでコンポーネントを選択し、ホーム・ページを表示します。
表示を変更するには、メイン表示領域の左上部にあるドロップダウン・メニューから項目を選択します。
|
関連項目: インストール手順と使用例については、『Oracle Enterprise Manager System Monitoring Plug-inインストレーション・ガイドfor Oracle Big Data Appliance』を参照してください。 |
Oracle Big Data ApplianceにインストールされるCloudera Managerは、Cloudera's Distribution including Apache Hadoop (CDH)の操作に役立ちます。Cloudera Managerは、Hadoopクラスタの一部として構成されたすべてのOracle Big Data Applianceサーバーを対象とする単一の管理インタフェースを備えています。
Cloudera Managerを使用すると、次の管理タスクを簡単に行うことができます。
ジョブおよびサービスの監視
サービスの開始および停止
セキュリティ資格証明とKerberos資格証明の管理
ユーザー・アクティビティの監視
システムの状態の監視
パフォーマンス・メトリックの監視
ハードウェアの使用状況の追跡(ディスク、CPU、RAM)
Cloudera Managerは、プライマリ・ラックのJobTrackerノード(node03)上で動作し、ポート7180上で使用できます。
Cloudera Managerを使用するには、次の手順を実行します。
ブラウザを開き、次のようにURLを入力します。
http://bda1node03.example.com:7180
この例で、bda1はアプライアンス名、node03はサーバー名、example.comはドメイン、7180はデフォルトのポート番号(それぞれCloudera Managerで使用)を示します。
Cloudera Managerのユーザー名とパスワードでログインします。設定を変更できるのは、管理者権限を持つユーザーのみです。その他のCloudera Managerユーザーは、Oracle Big Data Applianceのステータスを表示できます。
|
関連項目: 次のサイトで『Cloudera Manager User Guide』を参照してください
または、Cloudera Managerの「Help」メニューで、「Help」をクリックしてください |
Cloudera Managerでは、画面上部のメニュー・バーから、次に示す任意のページを選択できます。
Services: Oracle Big Data Appliance上で実行されているサービスのステータスと状態を監視します。サービス名をクリックすると、詳細情報にドリル・ダウンされます。
Hosts: すべてのサーバーの状態、ディスク使用量、負荷、物理メモリー、スワップ領域などの統計情報を監視します。
Activities: 指定期間に実行されているすべてのMapReduceジョブを監視します。
Logs: システムおよびサービスの履歴情報を収集します。選択したサーバー、サービス、および期間を対象に、特定の句を検索できます。また、ログ・メッセージの最小重大度(TRACE、DEBUG、INFO、WARN、ERRORまたはFATAL)を選択して、検索に含めることもできます。
Events: 状態の変化やその他の注意すべきイベントの発生を記録します。選択したサーバー、サービス、および期間を対象に、1つ以上のキーワードを検索できます。また、イベント・タイプ(Audit Event、Activity Event、Health CheckまたはLog Message)を選択することもできます。
Reports: ディスクおよびMapReduceの使用状況に関するレポートをオンデマンドで生成します。
図2-2は、Cloudera Managerのオープニング画面(「Services」ページ)を示しています。
Cloudera Manager管理者は、Oracle Big Data Applianceの状態や使用状況を監視するための様々なプロパティの変更、ユーザーの追加、およびKerberosセキュリティの設定を行うことができます。
Cloudera Manager Administrationにアクセスするには、次の手順を実行します。
管理者権限でCloudera Managerにログインします。
ページ右上にある「Welcome admin」をクリックします。
MapReduceジョブを監視するために、Cloudera Managerのユーザー名とパスワードは必要ありません。
Hadoop Map/Reduce Administrationでは、Oracle Big Data ApplianceのJobTrackerノード(node03)のポート50030で実行されるJobTrackerを監視します。
JobTrackerを監視するには、次の手順を実行します。
ブラウザを開き、次のようにURLを入力します。
http://bda1node03.example.com:50030
この例で、bda1はアプライアンス名、node03はサーバー名、50030はデフォルトのポート番号(それぞれHadoop Map/Reduce Administrationで使用)を示します。
図2-3は、「Hadoop Map/Reduce Administration」画面の一部を示しています。
Task Tracker Statusインタフェースでは、単一ノード上のTaskTrackerを監視します。Oracle Big Data Appliance内にあるすべての非クリティカル・ノード(node04からnode18)のポート50060上で使用できます。
TaskTrackerを監視するには、次の手順を実行します。
ブラウザを開き、次のように特定のノードのURLを入力します。
http://bda1node13.example.com:50060
この例で、bda1はラック名、node13はサーバー名、50060はデフォルトのポート番号(それぞれTask Tracker Statusインタフェースで使用)を示します。
図2-4は、Task Tracker Statusインタフェースを示しています。
Hueはブラウザで動作し、複数のアプリケーションに使いやすいインタフェースを提供して、HadoopとHDFSの操作をサポートします。Hueを使用すると、次のタスクを実行できます。
Hiveデータ・ストアの問合せ
Hive表の作成、ロードおよび削除
HDFSファイルおよびディレクトリの操作
MapReduceジョブの作成、発行および監視
MapReduceジョブの監視
Oozieダッシュボードを使用したワークフローの作成、編集および発行
ユーザーおよびグループの管理
HueはJobTrackerノード(node03)のポート8888上で動作します。
Hueを使用するには、次の手順を実行します。
この例で示したようなアドレスを使用し、ブラウザでHueを開きます。
http://bda1node03.example.com:8888
この例で、bda1はクラスタ名、node03はサーバー名、example.comはドメインをそれぞれ示します。
Hue資格証明を使用してログインします。
Oracle Big Data Applianceは、初期設定では特定のHueユーザー・アカウントを使用するよう構成されていません。Hueに最初に接続するユーザーは、任意のユーザー名とパスワードでログインでき、自動的に管理者になります。このユーザーは、他のユーザーと管理者アカウントを作成できます。
上部のアイコンを使用して、ユーティリティを開きます。
図2-5は、Hive問合せを入力するためのBeeswax Query Editorを示しています。
|
関連項目: Oracle Big Data Applianceにすでにインストールおよび構成されているHueの使用方法の詳細は、次のサイトで『Hue Installation Guide』を参照してください |
Oracle Big Data Applianceでは、Cloudera's Distribution including Apache Hadoop (CDH)のすべてのコマンドおよびユーティリティに対する完全なローカル・アクセスをサポートしています。
Oracle Big Data Applianceのクライアント・ネットワークにアクセスできる任意のコンピュータ上でブラウザを使用すれば、Cloudera Manager、Hadoop Map/Reduce Administration、Hadoop Task TrackerインタフェースなどのブラウザベースのHadoopツールにアクセスできます。
ただし、リモートでHadoopコマンドを発行するには、CDHクライアントとして構成され、Oracle Big Data Applianceクライアント・ネットワークへのアクセス権を持つシステムから接続する必要があります。この項では、HDFSにアクセスしてOracle Big Data Appliance上でMapReduceジョブを発行できるよう、コンピュータを設定する方法について説明します。
この手順を実行するには、次のアクセス権限が付与されている必要があります。
クライアント・システムへのrootアクセス権
Cloudera Managerへのログイン・アクセス権
これらのアクセス権限がない場合は、社内のシステム管理者にお問い合せください。
|
関連項目: My Oracle Support ID 1506203.1 |
Oracle Big Data Applianceへのアクセスに使用するシステムでは、ClouderaがCDH4用にサポートしているオペレーティング・システムが実行されている必要があります。サポート対象のオペレーティング・システムの詳細は、次のサイトで『Cloudera CDH4 Installation Guide』の「Before You Install CDH4 on a Cluster」を参照してください
http://ccp.cloudera.com/display/CDH4DOC/Before+You+Install+CDH4+on+a+Cluster
CDHクライアント・ソフトウェアをインストールするには、次の手順を実行します。
『Cloudera CDH4 Installation Guide』(次のサイトを参照)で説明しているオペレーティング・システムのインストール手順を実行します。
http://ccp.cloudera.com/display/CDH4DOC/CDH4+Installation+Guide
Hadoopコアとネイティブ・パッケージのインストールが完了したら、システムは基本のCDHクライアントとして機能できます。
|
注意: 必ずCDH4 Update 1 (CDH4u1)以降のバージョンをインストールしてください。 |
その他のコンポーネント(Hive、Pig、Oozieなど)をサポートするには、コンポーネントのインストール手順を参照してください。
CDHをインストールしたら、Oracle Big Data Applianceを操作できるように構成する必要があります。
Hadoopクライアントを構成するには、次の手順を実行します。
クライアント・システム上でブラウザを開き、Cloudera Managerに接続します。この例で示すように、JobTrackerノード(node03)上で動作し、ポート7180上でリスニングします。
http://bda1node03.example.com:7180
adminとしてログインします。
Cloudera Managerが開き、「Services」タブが表示されます。「Client Configuration URLs」ボタンをクリックします。
ポップアップ・ウィンドウで、mapreduce1のURL (/cmf/services/2/client-config)をクリックし、mapreduce1-clientconfig.zipをダウンロードします。
次の図は、クライアント構成のダウンロード・ページを示しています。

mapreduce1-clientconfig.zipをクライアント・システム上の常設の場所に解凍します。
$ unzip mapreduce-clientconfig.zip
Archive: mapreduce-clientconfig.zip
inflating: hadoop-conf/hadoop-env.sh
inflating: hadoop-conf/core-site.xml
inflating: hadoop-conf/hdfs-site.xml
inflating: hadoop-conf/log4j.properties
inflating: hadoop-conf/mapred-site.xml
すべてのファイルは、hadoop-configという名前のサブディレクトリに格納されます。
テキスト・エディタでhadoop-env.shを開き、システムの正確な場所を示すようにJAVA_HOMEを変更します。
export JAVA_HOME=full_directory_path
シャープ記号(#)を削除し、行のコメント化を解除して、ファイルを保存します。
次のいずれかを行います。
ステップ5でダウンロードした構成ファイルで既存の構成ファイルを上書きします。
# cd /full_path/hadoop-conf
# cp * /usr/lib/hadoop/conf
使用するシェルに適した構文を使って、HADOOP_CONF_DIR環境変数を新しいhadoop-configディレクトリに設定します。たとえば、次のコマンドはBashシェルに対するものです。
$ export HADOOP_CONF_DIR="/full_path/hadoop-conf"
|
注意: この設定を環境に適した起動ファイル(.bashrc、.cshrcなど)に必ず追加してください。 |
次のような簡単なHadoopファイル・システム・コマンドを入力して、クライアントからOracle Big Data ApplianceのHDFSにアクセスできることを確認します。
$ hadoop fs -ls /user
Found 4 items
drwx------ - hdfs supergroup 0 2013-01-16 13:50 /user/hdfs
drwxr-xr-x - hive supergroup 0 2013-01-16 12:58 /user/hive
drwxr-xr-x - oozie hadoop 0 2013-01-16 13:01 /user/oozie
drwxr-xr-x - oracle hadoop 0 2013-01-29 12:50 /user/oracle
クライアント・システムではなく、Oracle Big Data Applianceで定義されているHDFSユーザーに対する出力を確認します。
MapReduceジョブを発行して、インストールを検証します。Oracle Big Data Appliance上のHDFSユーザー名と同じユーザー名でホスト・コンピュータにログインする必要があります。
次の例では、piの値を算出します。
$ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples-2.0.0-cdh4.1.2.jar pi 10 1000000
Number of Maps = 10
Samples per Map = 1000000
Wrote input for Map #0
Wrote input for Map #1
.
.
.
Job Finished in 17.981 seconds
Estimated value of Pi is 3.14158440000000000000
Cloudera Managerを使用して、ローカル・システムではなくOracle Big Data Applianceでジョブが実行されたことを確認します。「Activities」メニューから「mapreduce」を選択してジョブのリストを表示します。
図2-6に、前述の例で作成されたジョブを示します。
この項では、ソフトウェア用に作成されるユーザーおよび追加のユーザーを作成する方法について説明します。内容は次のとおりです。
Oracle Big Data Applianceにインストールされるオープンソース・パッケージごとに、1つ以上のユーザーおよびグループが作成されます。このようなユーザーのほとんどは、ログイン権限、シェル、またはホーム・ディレクトリを持っていません。これらはデーモンによって使用され、各ユーザー向けのインタフェースとしては設計されていません。たとえば、Hadoopはhdfsユーザーとして、MapReduceはmapredとして、Hiveはhiveとしてそれぞれ動作します。
Oracle Big Data Applianceソフトウェアのインストール直後にHadoopおよびHiveジョブを実行するには、oracle IDを使用できます。このユーザー・アカウントは、ログイン権限、シェル、およびホーム・ディレクトリを保持しています。
Oracle NoSQL DatabaseおよびOracle Data Integratorはoracleユーザーとして実行します。プライマリ・グループはoinstallです。
|
注意: インストール時に作成されたユーザーは、ソフトウェアの操作に必要なため、削除や変更はしないでください。 |
表2-1に、Oracle Big Data Applianceソフトウェアのインストール時に自動的に作成され、CDHコンポーネントおよびその他のソフトウェア・パッケージによって使用されるオペレーティング・システム・ユーザーおよびグループを示します。
表2-1 オペレーティング・システム・ユーザーおよびグループ
| ユーザー名 | グループ | 使用者 | ログイン権限 |
|---|---|---|---|
|
|
Flume親およびノード |
なし |
|
|
|
HBaseプロセス |
なし |
|
|
|
なし |
||
|
|
なし |
||
|
|
Hueプロセス |
なし |
|
|
|
JobTracker、TaskTracker、Hive Thriftデーモン |
あり |
|
|
|
|
あり |
|
|
|
Oozieサーバー |
なし |
|
|
Oracle NoSQL Database、Oracle Loader for Hadoop、Oracle Data IntegratorおよびOracle DBA |
あり |
||
|
|
Puppet親( |
なし |
|
|
|
Sqoopメタストア |
なし |
|
|
Auto Service Request |
なし |
||
|
|
ZooKeeperプロセス |
なし |
追加のユーザー・アカウントを作成する場合は、次のように定義してください。
Hueユーザーを作成するには、ブラウザでHueを開き、「User Admin」アイコンをクリックします。詳細は、「Hueを使用したHadoopの操作」を参照してください。
HDFSユーザーを作成するには、次の手順を実行します。
rootユーザーとして、非クリティカル・ノード(node04からnode18)へのssh接続を開きます。
ユーザーのホーム・ディレクトリを作成します。
# sudo -u hdfs hadoop fs -mkdir /user/user_name
HDFSスーパー・ユーザーはhdfsである(rootではない)ため、sudoを使用します。
ディレクトリの所有者を変更します。
# sudo -u hdfs hadoop fs -chown user_name:primary_group_name /user/user_name
ディレクトリが正しく設定されていることを確認します。
# hadoop fs -ls /user
クラスタ内のすべてのノードに対してオペレーティング・システム・ユーザーを作成します。
# dcli useradd -G group_name [,group_name...] -m user_name
この構文では、group_nameを既存のグループ名、user_nameを新しいユーザー名でそれぞれ置換します。
リモート・クライアントからMapReduceジョブを実行する場合、Oracle Big Data Applianceでログイン権限は必要ありません。ただし、Oracle Big Data Applianceにログインする場合、パスワードを設定する必要があります。パスワードの設定とリセットは同じ方法で行えます。
すべてのOracle Big Data Applianceサーバーに対するユーザー・パスワードを設定するには、次の手順を実行します。
前述の手順の説明に従ってHDFSユーザーを作成します。
ユーザーにパスワードがないことを確認します。
# dcli passwd -S user_name bda1node01.example.com: jdoe NP 2013-01-22 0 99999 7 -1 (Empty password.) bda1node02.example.com: jdoe NP 2013-01-22 0 99999 7 -1 (Empty password.) bda1node03.example.com: jdoe NP 2013-01-22 0 99999 7 -1 (Empty password.)
この出力では、ユーザーjdoeにパスワードが設定されていないことを示しています。
パスワードを設定します。
hash=$(echo 'password' | openssl passwd -1 -stdin); dcli "usermod --pass='$hash' user_name"
すべてのサーバーに対してパスワードが設定されていることを確認します。
]# dcli passwd -S user_name bda1node01.example.com: jdoe PS 2013-01-24 0 99999 7 -1 (Password set, MD5 crypt.) bda1node02.example.com: jdoe PS 2013-01-24 0 99999 7 -1 (Password set, MD5 crypt.) bda1node03.example.com: jdoe PS 2013-01-24 0 99999 7 -1 (Password set, MD5 crypt.)
例2-1では、hadoopをプライマリ・グループとし、hiveを追加グループとしてjdoeという名前のユーザーを作成します。
例2-1 Hadoopユーザーの作成
]# sudo -u hdfs hadoop fs -mkdir /user/jdoe # sudo -u hdfs hadoop fs -chown jdoe:hadoop /user/jdoe # hadoop fs -ls /user Found 5 items drwx------ - hdfs supergroup 0 2013-01-16 13:50 /user/hdfs drwxr-xr-x - hive supergroup 0 2013-01-16 12:58 /user/hive drwxr-xr-x - jdoe hadoop 0 2013-01-18 14:04 /user/jdoe drwxr-xr-x - oozie hadoop 0 2013-01-16 13:01 /user/oozie drwxr-xr-x - oracle hadoop 0 2013-01-16 13:01 /user/oracle # dcli useradd -G hive -m jdoe] # dcli ls /home bda1node01.example.com: hive bda1node01.example.com: jdoe bda1node01.example.com: oracle bda1node02.example.com: hive bda1node02.example.com: jdoe . . .
|
関連項目:
|
CDHはオプションのごみ箱機能を備えているので、削除されたファイルまたはディレクトリをただちにシステムから削除せずに、指定した期間trashディレクトリに移動できます。デフォルトで、ごみ箱機能はHDFSおよびすべてのHDFSクライアントで有効です。
ごみ箱機能が有効になっている場合は、削除してしまったファイルを簡単にリストアできます。
trashディレクトリからファイルをリストアするには、次の手順を実行します。
削除されたファイルがごみ箱にあることを確認します。次の例では、oracleユーザーによって削除されたファイルを確認します。
$ hadoop fs -ls .Trash/Current/user/oracle
Found 1 items
-rw-r--r-- 3 oracle hadoop 242510990 2012-08-31 11:20 /user/oracle/.Trash/Current/user/oracle/ontime_s.dat
以前の場所にファイルを移動またはコピーします。次の例では、ontime_s.datをごみ箱からHDFSの/user/oracleディレクトリに移動します。
$ hadoop fs -mv .Trash/Current/user/oracle/ontime_s.dat /user/oracle/ontime_s.dat
ごみ箱を空にする間隔とは、ファイルがシステムから永久に削除されるまで、trashディレクトリに保持される時間の最小値です。デフォルト値は、1日(24時間)です。
ごみ箱を空にする間隔を変更するには、次の手順を実行します。
Cloudera Managerを開きます。詳細は、「Cloudera Managerを使用したCDH操作の管理」を参照してください。
「All Services」ページの「Name」の下で、「hdfs1」をクリックします。
「hdfs1」ページで、「Configuration」サブタブをクリックします。
「NameNode Settings」の下にある「Filesystem Trash Interval」プロパティを検索するか、下方向にスクロールして探します図2-7を参照してください。
現在の値をクリックして、ポップアップ・フォームに新しい値を入力します。
「Save Changes」をクリックします。
ページ上部の「Actions」メニューを展開して、「Restart」を選択します。
図2-7は、Cloudera ManagerにFilesystem Trash Intervalプロパティが表示されているところを示しています。
Oracle Big Data Applianceでは、デフォルトでごみ箱機能が有効になっています。この構成は、サーバーまたはクライアント・レベルで変更できます。ごみ箱機能を無効化すると、削除されたファイルおよびディレクトリはごみ箱に移動しません。リカバリできなくなります。
次の手順を実行すると、HDFSのごみ箱機能は無効化されます。ごみ箱機能が完全に無効化されても、クライアント構成には影響しません。
ごみ箱機能を完全に無効化するには、次の手順を実行します。
Cloudera Managerを開きます。詳細は、「Cloudera Managerを使用したCDH操作の管理」を参照してください。
「All Services」ページの「Name」の下で、「hdfs1」をクリックします。
「hdfs1」ページで、「Configuration」サブタブをクリックします。
「NameNode Settings」の下にある「Filesystem Trash Interval」プロパティを検索するか、下方向にスクロールして探します図2-7を参照してください。
現在の値をクリックして、ポップアップ・フォームに値0 (ゼロ)と入力します。
「Save Changes」をクリックします。
ページ上部の「Actions」メニューを展開して、「Restart」を選択します。
Oracle Big Data ApplianceにインストールされているすべてのHDFSクライアントは、ごみ箱機能を使用するように構成されています。HDFSクライアントとは、HDFSに接続して、HDFSファイルの一覧表示、HDFSとの間のファイルのコピー、ディレクトリの作成といった操作を実行する任意のアプリケーションです。
Cloudera Managerを使用すると、ローカルのクライアント構成設定を変更できますが、ごみ箱機能は有効なままです。
ローカルのHDFSクライアントのごみ箱機能を無効化するには、次の手順を実行します。
Cloudera Managerを開きます。詳細は、「Cloudera Managerを使用したCDH操作の管理」を参照してください。
「All Services」ページの「Name」の下で、「hdfs1」をクリックします。
「hdfs1」ページで、「Configuration」サブタブをクリックします。
「Client Settings」の下にある「Use Trash」プロパティを検索するか、下方向にスクロールして探します図2-7を参照してください。
「Use Trash」チェック・ボックスの選択を解除します。
「Save Changes」をクリックします。この設定は、Oracle Big Data Applianceに新たにダウンロードされるすべてのHDFSクライアントの構成に使用されます。
既存のクライアントに新しい構成をデプロイするには、次の手順を実行します。
「Actions」メニューを展開して、「Deploy Client Configuration」を選択します。
操作を確認するプロンプトが表示されたら、「Deploy Client Configuration」をクリックします。
リモートのHDFSクライアントは、通常、CDHクライアントをダウンロードおよびインストールすると構成されます(「CDHへのリモート・クライアント・アクセスの提供」を参照)。Oracle SQL Connector for HDFSやOracle R Connector for Hadoopなどがリモート・クライアントです。
リモートのHDFSクライアントのごみ箱機能を無効化するには、次の手順を実行します。
CDHクライアントがインストールされているシステムへの接続を開きます。
テキスト・エディタで/etc/hadoop/conf/hdfs-site.xmlを開きます。
ごみ箱を空にする間隔をゼロにします。
<property>
<name>fs.trash.interval</name>
<value>0</value>
</property>
ファイルを保存します。
次の各項では、Oracle Big Data Applianceにインストールされるソフトウェアと、そのラック内での実行場所について説明します。一部のコンポーネントは、Oracle Database 11.2.0.2以降のリリースで動作します。
次のソフトウェア・コンポーネントは、Oracle Big Data Applianceのラック内にある18台すべてのサーバーにインストールされます。Oracle Linux、必須ドライバ、ファームウェアおよびハードウェア検証ユーティリティは工場出荷時にインストール済です。その他のソフトウェアはすべて、Mammothユーティリティを使用してオンサイトでインストールします。オプションのソフトウェア・コンポーネントは、インストールで構成されない場合があります。
|
注意: Oracle Big Data Applianceに追加のソフトウェアをインストールする必要はありません。これを行うと、保証やサポートの対象外となる可能性があります。詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。 |
ベースとなるイメージ・ソフトウェア:
Java HotSpot Virtual Machine 6 Update 37
Oracle R Distribution 2.15.1
MySQL Server 5.5.17 Advanced Edition
Puppet、ファームウェア、ユーティリティ
Mammothインストール:
Cloudera's Distribution including Apache Hadoop Release 4 Update 1.2 (CDH)
Oracle Database Instant Client 11.2.0.3
Oracle Big Data Connectors 2.0 (オプション):
|
関連項目: Mammothユーティリティの詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。 |
図2-8は、主要コンポーネント間の関係を示しています。
各サーバーには12基のディスクが搭載されています。重要なオペレーティング・システムはディスク1および2に格納されます。
表2-2に、ディスク・パーティションの内容を示します。
表2-2 論理ディスク・レイアウト
この項で説明する項目は、次のとおりです。
Cloudera Managerを使用すると、Oracle Big Data Appliance上のCDHサービスを監視できます。
サービスを監視するには、次の手順を実行します。
Cloudera Managerで、ページ上部にある「Services」タブをクリックして、「Services」ページを表示します。
サービス名をクリックすると、その詳細ページが表示されます。サービスの「Status」ページが開きます。
確認するページのリンク(「Status」、「Instances」、「Commands」、「Configuration」または「Audits」)をクリックします。
すべてのサービスは全サーバー上にインストールされますが、個々のサービスはHadoopクラスタ内の指定されたノードでのみ実行されます。
表2-3に、プライマリ・ラックでサービスが実行されるノードを示します。すべてのノード上で実行されるサービスは、マルチラック構成のすべてのラックで動作します。
表2-3 ソフトウェア・サービスの場所
| サービス・タイプ | ロール | ノード名 | 初期ノードの場所 |
|---|---|---|---|
|
Cloudera Management Services |
すべてのノード |
node01からnode18 |
|
|
Cloudera Management Services |
JobTrackerノード |
node02 |
|
|
HDFS |
第1NameNode |
node01 |
|
|
HDFS |
すべてのノード |
node01からnode18 |
|
|
HDFS |
フェイルオーバー・コントローラ |
第1NameNodeおよび第2NameNode |
node01およびnode02 |
|
HDFS |
第1NameNode |
第1NameNode |
node01 |
|
HDFS |
JournalNode |
第1NameNode、第2NameNode、JobTrackerノード |
node01からnode03 |
|
HDFS |
第2NameNode |
node02 |
|
|
Hive |
Hiveサーバー |
JobTrackerノード |
node03 |
|
Hue |
JobTrackerノード |
node03 |
|
|
Hue |
Hueサーバー |
JobTrackerノード |
node03 |
|
MapReduce |
JobTrackerノード |
node03 |
|
|
MapReduce |
すべての非クリティカル・ノード |
node04からnode18 |
|
|
MySQL |
MySQL Backup Server脚注 1 |
第2NameNode |
node02 |
|
MySQL |
MySQL Primary Server脚注 1 |
JobTrackerノード |
node03 |
|
NoSQL |
Oracle NoSQL Database管理脚注 2 |
第2NameNode |
node02 |
|
NoSQL |
Oracle NoSQL Database Serverプロセス脚注 2 |
すべてのノード |
node01からnode18 |
|
ODI |
Oracle Data Integratorエージェント脚注 2 |
JobTrackerノード |
node03 |
|
Puppet |
Puppetエージェント |
すべてのノード |
node01からnode18 |
|
Puppet |
第1NameNode |
node01 |
|
|
ZooKeeper |
ZooKeeperサーバー |
第1NameNode、第2NameNode、JobTrackerノード |
node01からnode03 |
脚注 1 ソフトウェアをバージョン1.0からアップグレードした場合、MySQL Backup Serverはnode02に、MySQL Primary Serverはnode03にそれぞれ保持されます。
脚注 2 Oracle Big Data Appliance構成ワークシートで必要とされている場合にのみ、開始されます。
NameNodeは、すべてのデータの場所を追跡するため、最も重要なプロセスです。正常に機能しているNameNodeがないと、クラスタ全体に障害が発生します。Apache Hadoop v0.20.2以前のバージョンは、ネームノードが1つしかないため、障害に対して脆弱です。
Cloudera's Distribution including Apache Hadoopのバージョン4 (CDH4)では、NameNodeの冗長性を維持することにより、この脆弱性が軽減されています。次に示すように、データは通常の運用時にレプリケートされます。
CDHは、最初の2つのノード上でNameNodeの冗長性を維持します。NameNodeの一方はアクティブ・モード、もう一方のNameNodeはホット・スタンバイ・モードです。アクティブNameNodeに障害が発生すると、そのアクティブNameNodeのロールは自動的にスタンバイNameNodeにフェイルオーバーされます。
NameNodeのデータはミラー化されたパーティションに書き込まれるので、1つのディスクが失われても耐障害性が確保されます。このミラー化の処理は、オペレーティング・システムのインストールの一環として工場出荷時に行われます。
アクティブNameNodeでは、すべての変更を2つ以上のJournalNodeプロセスに記録し、これをスタンバイNameNodeが読み取ります。JournalNodeは3つあり、node01からnode03上で実行されます。
|
注意: Oracle Big Data Appliance 2.0では、バックアップ用の外部NFSフィルタをサポートしておらず、NameNodeのフェデレーションを使用しません。 |
図2-9は、Oracle Big Data Applianceで自動フェイルオーバーをサポートしているプロセス間の関係を示しています。
図2-9 Oracle Big Data ApplianceでのNameNodeの自動フェイルオーバー

次のツールはインストールされますが構成されません。使用する前に構成する必要があります。
|
関連項目: 構成の手順の詳細は、次のサイトで『CDH4 Installation and Configuration Guide』を参照してください |
サーバー障害の影響は、CDHクラスタ内におけるサーバーの機能によって異なります。Oracle Big Data Applianceサーバーは、コモディティ・ハードウェアよりも堅牢なため、ハードウェア障害が発生することはほとんどありません。この項では、プライマリ・ラックの様々なサーバー上で実行される重要性の高いサービスに焦点を当てています。詳細なリストは、表2-3を参照してください。
クリティカル・ノードは、クラスタが正常に動作し、すべてのサービスをユーザーに提供するために必要です。これとは対照的に、非クリティカル・ノードに障害が発生しても、クラスタはサービスを失うことなく動作し続けます。
重要なサービスは、初期設定でプライマリ・ラックの最初の3つのノードにインストールされます。表2-4に、これらのノード上で実行される重要なサービスを示します。残りのノード(初期設定ではnode04からnode18)は重要性の低いサービスのみを実行します。クリティカル・ノードのいずれかでハードウェア障害が発生した場合は、別の非クリティカル・サーバーにサービスを移行できます。たとえば、node02に障害が発生した場合、その重要なサービスをnode05に移行するなどです。表2-4に、重要なサービスを提供しているノードの名前を示します。
クリティカル・ノードを移行するには、すべてのクライアントが新しいノードのアドレスで再構成されている必要があります。もう1つの方法としては、障害が発生したサーバーの復旧を待ちます。サービスの喪失とクライアントを再構成する不便さとを比較検討する必要があります。
NameNodeインスタンスの1つは、初期設定ではnode01上で実行されます。このノードに障害が発生するか、オフライン(再起動など)になると、第2NameNode (node02)が自動的に引き継いで、クラスタの正常なアクティビティを維持します。
または、第2NameNodeがすでにアクティブな場合は、バックアップなしで動作し続けます。NameNodeが1つのみの場合、クラスタは障害に対して脆弱です。クラスタは、アクティブNameNodeの自動ファイルオーバーに必要な冗長性を失っています。
次の機能も影響を受けます。
NameNodeインスタンスの1つは、初期設定ではnode02上で実行されます。このノードに障害が発生すると、NameNodeの機能は第1NameNode (node01)にフェイルオーバーされるか、そのままバックアップなしで動作し続けます。ただし、第1NameNodeにも障害が発生すると、クラスタは自動ファイルオーバーに必要な冗長性を失っています。
次のサービスも影響を受けます。
MySQL Master Database: Cloudera Manager、Oracle Data Integrator、HiveおよびOozieはMySQLデータベースを使用しています。データは自動的にレプリケートされますが、マスター・データベース・サーバーが停止していると、それにはアクセスできません。
Oracle NoSQL Database KV Administration: Oracle NoSQL DatabaseデータベースはOracle Big Data Applianceのオプション・コンポーネントであるため、それを使用しているかどうか、またアプリケーションにどの程度重要かによって、ノード障害の影響の度合いは異なります。
JobTrackerは、MapReduceタスクをCDHクラスタ内の特定のノードに割り当てます。JobTrackerノード(node03)がないと、この重要な機能は実行されません。
次のサービスも影響を受けます。
Cloudera Manager: このツールは、CDHクラスタ全体の一元管理機能を提供します。このツールがない場合は、「Hadoop監視ユーティリティの使用方法」で説明したユーティリティを使用すれば、引き続きアクティビティを監視できます。
Oracle Data Integrator: このサービスは、Oracle Data Integrator Application Adapter for Hadoopをサポートしています。JobTrackerノードが停止している場合、このコネクタは使用できません。
Hive: Hiveは、HDFSに格納されているデータへのSQLライクなインタフェースを備えています。Oracle Big Data Connectorsの多くは、Hive表にアクセスできますが、このノードが動作していない場合は使用できません。
MySQL Backup Database: MySQL Serverは動作を継続しますが、マスター・データベースのバックアップはありません。
CDHの問題のトラブルシューティングを行うために、Oracleサポートのアドバイスが必要な場合は、まずbdadiagユーティリティをcmオプションを指定して使用し、診断情報を収集してください。
診断情報を収集するには、次の手順を実行します。
Oracle Big Data Applianceサーバーにrootとしてログインします。
少なくともcmオプションを指定してbdadiagを実行します。必要に応じてコマンドに他のオプションを含めることができます。bdadiagの構文の詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。
# bdadiag cm
コマンド出力によって、診断ファイルの名前と場所が識別されます。
My Oracle Support (http://support.oracle.com)へ移動します。
サービス・リクエスト(SR)を開きます(まだ開いていない場合)。
SRにbz2ファイルをアップロードします。ファイルのサイズが大きすぎる場合は、ftp.oracle.comにアップロードしてください(次の手順を参照)。
診断情報をftp.oracle.comにアップロードするには、次の手順を実行します。
FTPクライアントを開き、ftp.oracle.comに接続します。
Oracle Big Data ApplianceからコマンドラインFTPクライアントを使用している場合は、例2-2を参照してください。
パスワード・フィールドは空白のまま、anonymousユーザーとしてログインします。
bda/incomingディレクトリで、ディレクトリ名にSR番号が付いたディレクトリを作成します(形式: SR番号)。作成されたディレクトリ構造は次のようになります。
bda
incoming
SRnumber
バイナリ・オプションを設定して、バイナリ・データの破損を防ぎます。
診断bz2ファイルを新しいディレクトリにアップロードします。
フル・パス(bda/incoming/SRnumberの形式)およびファイル名を使用してSRを更新します。
例2-2は、Oracle Big Data ApplianceでFTPコマンド・インタフェースを使用して、診断情報をアップロードするコマンドを示しています。
例2-2 FTPを使用した診断情報のアップロード
# ftp ftp> open ftp.oracle.com Connected to bigip-ftp.oracle.com. 220-*********************************************************************** 220-Oracle FTP Server . . . 220-**************************************************************************** 220- 220 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (ftp.oracle.com:root): anonymous 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd bda/incoming 250 Directory successfully changed. ftp> mkdir SR12345 257 "/bda/incoming/SR12345" created ftp> cd SR12345 250 Directory successfully changed. ftp> put /tmp/bdadiag_bda1node01_1216FM5497_2013_01_18_07_33.tar.bz2 local: bdadiag_bda1node01_1216FM5497_2013_01_18_07_33.tar.bz2 remote: bdadiag_bda1node01_1216FM5497_2013_01_18_07_33.tar.bz2 227 Entering Passive Mode (141,146,44,21,212,32) 150 Ok to send data. 226 File receive OK. 2404836 bytes sent in 1.8 seconds (1.3e+03 Kbytes/s)
Oracle Big Data Applianceではソフトウェアやデータの不正利用を防ぐための予防策を取ることができます。
表2-5に、CDH用のポート番号の他に使用される可能性のあるポート番号を示します。CDHのポート番号の詳細なリストは、次に示すClouderaのWebサイトを参照してください。
http://ccp.cloudera.com/display/CDH4DOC/Configuring+Ports+for+CDH4
特定のサーバー上で使用されるポート番号を確認するには、次の手順を実行します。
Cloudera Managerで、ページ上部にある「Hosts」タブをクリックして、「Hosts」ページを表示します。
「Name」列でサーバーのリンクをクリックすると、その詳細ページが表示されます。
「Ports」セクションまで下方向にスクロールします。
|
関連項目: ClouderaのWebサイト(CDHポート番号の確認):
|
Apache Hadoopは、本質的に安全なシステムではありません。ネットワーク・セキュリティによってのみ保護されています。接続が確立されると、クライアントはシステムに対して完全なアクセス権限を取得します。
Cloudera's Distribution including Apache Hadoop (CDH)では、Kerberosネットワーク認証プロトコルをサポートし、悪意のある偽装攻撃を防ぎます。Kerberosをインストールして構成し、Kerberos Key Distribution Centerおよびレルムを設定する必要があります。その後で、CDHの各種コンポーネントでKerberosを使用するように構成します。
Kerberosを使用するように構成された場合、CDHは次のセキュリティを提供します。
CDHマスター・ノード、NameNodeおよびJobTrackerでグループ名を解決し、ユーザーがグループのメンバーシップを操作できないようにします。
マップ・タスクはジョブを発行したユーザーのアイデンティティの下で実行されます。
|
関連項目: 次のマニュアルは、http://oracle.cloudera.comで入手できます。
|
Puppetノード・サービス(puppetd)は、すべてのサーバー上でrootとして継続的に実行されます。Puppetマスターに対する更新リクエストのトリガーとなるキック・リクエストを、ポート8139上でリスニングします。このポート上で更新は受信しません。
Puppetマスター・サービス(puppetmasterd)は、Oracle Big Data Applianceのプライマリ・ラックの第1サーバー上で、Puppetユーザーとして継続的に実行されます。ポート8140上で、Puppetノードに更新をプッシュするリクエストをリスニングします。
Puppetノードは、ソフトウェアのインストール時に初期登録するため、証明書を生成してPuppetマスターに送信します。ソフトウェアのアップデートの場合は、PuppetマスターからPuppetノードに信号(キック)が送信され、そこから登録先のPuppetマスター・ノードに対して、すべての構成変更がリクエストされます。
Puppetマスターは、既知の有効な証明書を保持しているPuppetノードに対してのみ更新を送信します。Puppetノードは、初期登録されたPuppetマスターのホスト名からの更新のみを受け付けます。Oracle Big Data Applianceでは、ラック内の通信に内部ネットワークを使用するため、Puppetマスターのホスト名は、/etc/hostsを使用して、内部のプライベートIPアドレスに解決されます。