ヘッダーをスキップ
Oracle® Big Data Applianceソフトウェア・ユーザーズ・ガイド
リリース2 (2.0.1)
B71709-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

2 Oracle Big Data Applianceの管理

この章では、Oracle Big Data Applianceにインストールされるソフトウェアおよびサービスについて説明します。次の項について説明します。

2.1 Oracle Enterprise Managerを使用したクラスタの監視

Oracle Enterprise Managerプラグインでは、Oracle Exadata Database Machineや他のOracle Databaseインストールに使用するのと同じシステム監視ツールをOracle Big Data Applianceに使用できます。プラグインを使用して、インストールされたソフトウェア・コンポーネントのステータスを表や図式を使用した形式で表示したり、これらのソフトウェア・サービスの起動や停止を行えます。ネットワークおよびラック・コンポーネントの状態を監視することもできます。

ターゲット・クラスタを選択したら、次の主な分野にドリルダウンできます。

図2-1に、インフィニバンド・スイッチについて表示された情報の一部を示します。

図2-1 Oracle Enterprise Managerのインフィニバンド・ホーム

図2-1の説明が続きます
「図2-1 Oracle Enterprise Managerのインフィニバンド・ホーム」の説明

Oracle Enterprise Managerを使用してOracle Big Data Applianceを監視するには、次の手順を実行します。

  1. プラグインをダウンロードしてインストールします。『Oracle Enterprise Manager System Monitoring Plug-inインストレーション・ガイドfor Oracle Big Data Appliance』を参照してください。

  2. 管理ユーザーとしてOracle Enterprise Managerにログインします。

  3. 「ターゲット」メニューから「ビッグ・データ・アプライアンス」を選択し、ビッグ・データ・ページを表示します。Oracle Enterprise Managerによって検出済のターゲットの全体的なステータスが表示されます。

  4. 詳細ページを表示するターゲット・クラスタを選択します。

  5. ターゲット・ナビゲーション・ツリーを展開し、コンポーネントを表示します。すべてのレベルで情報を使用可能です。

  6. ツリーでコンポーネントを選択し、ホーム・ページを表示します。

  7. 表示を変更するには、メイン表示領域の左上部にあるドロップダウン・メニューから項目を選択します。


関連項目:

インストール手順と使用例については、『Oracle Enterprise Manager System Monitoring Plug-inインストレーション・ガイドfor Oracle Big Data Appliance』を参照してください。

2.2 Cloudera Managerを使用したCDH操作の管理

Oracle Big Data ApplianceにインストールされるCloudera Managerは、Cloudera's Distribution including Apache Hadoop (CDH)の操作に役立ちます。Cloudera Managerは、Hadoopクラスタの一部として構成されたすべてのOracle Big Data Applianceサーバーを対象とする単一の管理インタフェースを備えています。

Cloudera Managerを使用すると、次の管理タスクを簡単に行うことができます。

Cloudera Managerは、プライマリ・ラックのJobTrackerノード(node03)上で動作し、ポート7180上で使用できます。

Cloudera Managerを使用するには、次の手順を実行します。 

  1. ブラウザを開き、次のようにURLを入力します。

    http://bda1node03.example.com:7180
    

    この例で、bda1はアプライアンス名、node03はサーバー名、example.comはドメイン、7180はデフォルトのポート番号(それぞれCloudera Managerで使用)を示します。

  2. Cloudera Managerのユーザー名とパスワードでログインします。設定を変更できるのは、管理者権限を持つユーザーのみです。その他のCloudera Managerユーザーは、Oracle Big Data Applianceのステータスを表示できます。


関連項目:

次のサイトで『Cloudera Manager User Guide』を参照してください

http://ccp.cloudera.com/display/ENT/Cloudera+Manager+User+Guide

または、Cloudera Managerの「Help」メニューで、「Help」をクリックしてください


2.2.1 Oracle Big Data Applianceのステータスの監視

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」ページ)を示しています。

図2-2 Cloudera Managerの「Services」ページ

図2-2の説明が続きます
「図2-2 Cloudera Managerの「Services」ページ」の説明

2.2.2 管理タスクの実行

Cloudera Manager管理者は、Oracle Big Data Applianceの状態や使用状況を監視するための様々なプロパティの変更、ユーザーの追加、およびKerberosセキュリティの設定を行うことができます。

Cloudera Manager Administrationにアクセスするには、次の手順を実行します。 

  1. 管理者権限でCloudera Managerにログインします。

  2. ページ右上にある「Welcome admin」をクリックします。

2.2.3 Cloudera Managerを使用したサービスの管理

Cloudera Managerは次のサービスを管理するインタフェースを備えています。

  • HDFS

  • Hue

  • MapReduce

  • Oozie

  • ZooKeeper

Cloudera Managerを使用すると、これらのサービスの設定変更、停止および再開を行うことができます。


注意:

Linuxサービス・スクリプトやHadoop構成ファイルを手動で編集しても、これらのサービスには何の効果もありません。これらを管理および構成するには、Cloudera Managerを使用する必要があります。

2.3 Hadoop監視ユーティリティの使用方法

MapReduceジョブを監視するために、Cloudera Managerのユーザー名とパスワードは必要ありません。

2.3.1 JobTrackerの監視

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」画面の一部を示しています。

図2-3 Hadoop Map/Reduce Administration

図2-3の説明が続きます
「図2-3 Hadoop Map/Reduce Administration」の説明

2.3.2 TaskTrackerの監視

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インタフェースを示しています。

図2-4 Task Tracker Statusインタフェース

図2-4の説明が続きます
「図2-4 Task Tracker Statusインタフェース」の説明

2.4 Hueを使用したHadoopの操作

Hueはブラウザで動作し、複数のアプリケーションに使いやすいインタフェースを提供して、HadoopとHDFSの操作をサポートします。Hueを使用すると、次のタスクを実行できます。

HueはJobTrackerノード(node03)のポート8888上で動作します。

Hueを使用するには、次の手順を実行します。 

  1. この例で示したようなアドレスを使用し、ブラウザでHueを開きます。

    http://bda1node03.example.com:8888

    この例で、bda1はクラスタ名、node03はサーバー名、example.comはドメインをそれぞれ示します。

  2. Hue資格証明を使用してログインします。

    Oracle Big Data Applianceは、初期設定では特定のHueユーザー・アカウントを使用するよう構成されていません。Hueに最初に接続するユーザーは、任意のユーザー名とパスワードでログインでき、自動的に管理者になります。このユーザーは、他のユーザーと管理者アカウントを作成できます。

  3. 上部のアイコンを使用して、ユーティリティを開きます。

図2-5は、Hive問合せを入力するためのBeeswax Query Editorを示しています。

図2-5 Beeswax Query Editor

図2-5の説明が続きます
「図2-5 Beeswax Query Editor」の説明


関連項目:

Oracle Big Data Applianceにすでにインストールおよび構成されているHueの使用方法の詳細は、次のサイトで『Hue Installation Guide』を参照してください

http://cloudera.github.com/hue/docs-2.1.0/manual.html


2.5 CDHへのリモート・クライアント・アクセスの提供

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ジョブを発行できるよう、コンピュータを設定する方法について説明します。

この手順を実行するには、次のアクセス権限が付与されている必要があります。

これらのアクセス権限がない場合は、社内のシステム管理者にお問い合せください。


関連項目:

My Oracle Support ID 1506203.1

2.5.1 クライアント・システムへのCDHのインストール

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クライアント・ソフトウェアをインストールするには、次の手順を実行します。 

  1. 『Cloudera CDH4 Installation Guide』(次のサイトを参照)で説明しているオペレーティング・システムのインストール手順を実行します。

    http://ccp.cloudera.com/display/CDH4DOC/CDH4+Installation+Guide

    Hadoopコアとネイティブ・パッケージのインストールが完了したら、システムは基本のCDHクライアントとして機能できます。


    注意:

    必ずCDH4 Update 1 (CDH4u1)以降のバージョンをインストールしてください。

  2. その他のコンポーネント(HivePigOozieなど)をサポートするには、コンポーネントのインストール手順を参照してください。

2.5.2 CDHの構成

CDHをインストールしたら、Oracle Big Data Applianceを操作できるように構成する必要があります。

Hadoopクライアントを構成するには、次の手順を実行します。 

  1. クライアント・システム上でブラウザを開き、Cloudera Managerに接続します。この例で示すように、JobTrackerノード(node03)上で動作し、ポート7180上でリスニングします。

    http://bda1node03.example.com:7180
    
  2. adminとしてログインします。

  3. Cloudera Managerが開き、「Services」タブが表示されます。「Client Configuration URLs」ボタンをクリックします。

  4. ポップアップ・ウィンドウで、mapreduce1のURL (/cmf/services/2/client-config)をクリックし、mapreduce1-clientconfig.zipをダウンロードします。

    次の図は、クライアント構成のダウンロード・ページを示しています。

    generate_client.pngの説明が続きます
    図generate_client.pngの説明

  5. 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という名前のサブディレクトリに格納されます。

  6. テキスト・エディタでhadoop-env.shを開き、システムの正確な場所を示すようにJAVA_HOMEを変更します。

    export JAVA_HOME=full_directory_path
    
  7. シャープ記号(#)を削除し、行のコメント化を解除して、ファイルを保存します。

  8. 次のいずれかを行います。

    • ステップ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など)に必ず追加してください。

  9. 次のような簡単な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ユーザーに対する出力を確認します。

  10. 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
    
  11. Cloudera Managerを使用して、ローカル・システムではなくOracle Big Data Applianceでジョブが実行されたことを確認します。「Activities」メニューから「mapreduce」を選択してジョブのリストを表示します。

図2-6に、前述の例で作成されたジョブを示します。

図2-6 Cloudera ManagerでのMapReduceジョブの監視

図2-6の説明が続きます
「図2-6 Cloudera ManagerでのMapReduceジョブの監視」の説明

2.6 ユーザー・アカウントの管理

この項では、ソフトウェア用に作成されるユーザーおよび追加のユーザーを作成する方法について説明します。内容は次のとおりです。

2.6.1 事前定義済のユーザーおよびグループについて

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

flume

Flume親およびノード

なし

hbase

hbase

HBaseプロセス

なし

hdfs

hadoop

NameNodeDataNode

なし

hive

hive

Hiveメタストアおよびサーバー・プロセス

なし

hue

hue

Hueプロセス

なし

mapred

hadoop

JobTracker、TaskTracker、Hive Thriftデーモン

あり

mysql

mysql

MySQLサーバー

あり

oozie

oozie

Oozieサーバー

なし

oracle

dbaoinstall

Oracle NoSQL Database、Oracle Loader for Hadoop、Oracle Data IntegratorおよびOracle DBA

あり

puppet

puppet

Puppet親(rootとして実行されるpuppetノード)

なし

sqoop

sqoop

Sqoopメタストア

なし

svctag


Auto Service Request


なし

zookeeper

zookeeper

ZooKeeperプロセス

なし


2.6.2 HDFSユーザーの新規作成

追加のユーザー・アカウントを作成する場合は、次のように定義してください。

  • MapReduceジョブを実行するには、ユーザーをhadoopグループのメンバーにする必要があります。

  • Hiveで表を作成および変更するには、ユーザーはhiveグループのメンバーである必要があります。

  • Hueユーザーを作成するには、ブラウザでHueを開き、「User Admin」アイコンをクリックします。詳細は、「Hueを使用したHadoopの操作」を参照してください。

HDFSユーザーを作成するには、次の手順を実行します。 

  1. rootユーザーとして、非クリティカル・ノード(node04からnode18)へのssh接続を開きます。

  2. ユーザーのホーム・ディレクトリを作成します。

    # sudo -u hdfs hadoop fs -mkdir /user/user_name
    

    HDFSスーパー・ユーザーはhdfsである(rootではない)ため、sudoを使用します。

  3. ディレクトリの所有者を変更します。

    # sudo -u hdfs hadoop fs -chown user_name:primary_group_name /user/user_name
    
  4. ディレクトリが正しく設定されていることを確認します。

    # hadoop fs -ls /user
    
  5. クラスタ内のすべてのノードに対してオペレーティング・システム・ユーザーを作成します。

    # 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サーバーに対するユーザー・パスワードを設定するには、次の手順を実行します。

  1. 前述の手順の説明に従ってHDFSユーザーを作成します。

  2. ユーザーにパスワードがないことを確認します。

    # 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にパスワードが設定されていないことを示しています。

  3. パスワードを設定します。

     hash=$(echo 'password' | openssl passwd -1 -stdin); dcli "usermod --pass='$hash' user_name"
    
  4. すべてのサーバーに対してパスワードが設定されていることを確認します。

    ]# 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
     .
     .
     .

関連項目:

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

  • useraddコマンドの完全な構文は、Linux manページを参照してください。


2.7 削除されたファイルのリカバリ

CDHはオプションのごみ箱機能を備えているので、削除されたファイルまたはディレクトリをただちにシステムから削除せずに、指定した期間trashディレクトリに移動できます。デフォルトで、ごみ箱機能はHDFSおよびすべてのHDFSクライアントで有効です。

2.7.1 ごみ箱からのファイルのリストア

ごみ箱機能が有効になっている場合は、削除してしまったファイルを簡単にリストアできます。

trashディレクトリからファイルをリストアするには、次の手順を実行します。 

  1. 削除されたファイルがごみ箱にあることを確認します。次の例では、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
    
  2. 以前の場所にファイルを移動またはコピーします。次の例では、ontime_s.datをごみ箱からHDFSの/user/oracleディレクトリに移動します。

    $ hadoop fs -mv .Trash/Current/user/oracle/ontime_s.dat /user/oracle/ontime_s.dat
    

2.7.2 ごみ箱を空にする間隔の変更

ごみ箱を空にする間隔とは、ファイルがシステムから永久に削除されるまで、trashディレクトリに保持される時間の最小値です。デフォルト値は、1日(24時間)です。

ごみ箱を空にする間隔を変更するには、次の手順を実行します。 

  1. Cloudera Managerを開きます。詳細は、「Cloudera Managerを使用したCDH操作の管理」を参照してください。

  2. 「All Services」ページの「Name」の下で、「hdfs1」をクリックします。

  3. 「hdfs1」ページで、「Configuration」サブタブをクリックします。

  4. 「NameNode Settings」の下にある「Filesystem Trash Interval」プロパティを検索するか、下方向にスクロールして探します図2-7を参照してください。

  5. 現在の値をクリックして、ポップアップ・フォームに新しい値を入力します。

  6. 「Save Changes」をクリックします。

  7. ページ上部の「Actions」メニューを展開して、「Restart」を選択します。

図2-7は、Cloudera ManagerにFilesystem Trash Intervalプロパティが表示されているところを示しています。

図2-7 Cloudera ManagerでのHDFSプロパティの設定

図2-7の説明が続きます
「図2-7 Cloudera ManagerでのHDFSプロパティの設定」の説明

2.7.3 ごみ箱機能の無効化

Oracle Big Data Applianceでは、デフォルトでごみ箱機能が有効になっています。この構成は、サーバーまたはクライアント・レベルで変更できます。ごみ箱機能を無効化すると、削除されたファイルおよびディレクトリはごみ箱に移動しません。リカバリできなくなります。

2.7.3.1 ごみ箱機能の完全な無効化

次の手順を実行すると、HDFSのごみ箱機能は無効化されます。ごみ箱機能が完全に無効化されても、クライアント構成には影響しません。

ごみ箱機能を完全に無効化するには、次の手順を実行します。 

  1. Cloudera Managerを開きます。詳細は、「Cloudera Managerを使用したCDH操作の管理」を参照してください。

  2. 「All Services」ページの「Name」の下で、「hdfs1」をクリックします。

  3. 「hdfs1」ページで、「Configuration」サブタブをクリックします。

  4. 「NameNode Settings」の下にある「Filesystem Trash Interval」プロパティを検索するか、下方向にスクロールして探します図2-7を参照してください。

  5. 現在の値をクリックして、ポップアップ・フォームに値0 (ゼロ)と入力します。

  6. 「Save Changes」をクリックします。

  7. ページ上部の「Actions」メニューを展開して、「Restart」を選択します。

2.7.3.2 ローカルのHDFSクライアントのごみ箱機能の無効化

Oracle Big Data ApplianceにインストールされているすべてのHDFSクライアントは、ごみ箱機能を使用するように構成されています。HDFSクライアントとは、HDFSに接続して、HDFSファイルの一覧表示、HDFSとの間のファイルのコピー、ディレクトリの作成といった操作を実行する任意のアプリケーションです。

Cloudera Managerを使用すると、ローカルのクライアント構成設定を変更できますが、ごみ箱機能は有効なままです。


注意:

どのクライアントもごみ箱を使用できないようにするには、ごみ箱機能を完全に無効化します。詳細は、「ごみ箱機能の完全な無効化」を参照してください。

ローカルのHDFSクライアントのごみ箱機能を無効化するには、次の手順を実行します。 

  1. Cloudera Managerを開きます。詳細は、「Cloudera Managerを使用したCDH操作の管理」を参照してください。

  2. 「All Services」ページの「Name」の下で、「hdfs1」をクリックします。

  3. 「hdfs1」ページで、「Configuration」サブタブをクリックします。

  4. 「Client Settings」の下にある「Use Trash」プロパティを検索するか、下方向にスクロールして探します図2-7を参照してください。

  5. 「Use Trash」チェック・ボックスの選択を解除します。

  6. 「Save Changes」をクリックします。この設定は、Oracle Big Data Applianceに新たにダウンロードされるすべてのHDFSクライアントの構成に使用されます。

  7. 既存のクライアントに新しい構成をデプロイするには、次の手順を実行します。

    1. 「Actions」メニューを展開して、「Deploy Client Configuration」を選択します。

    2. 操作を確認するプロンプトが表示されたら、「Deploy Client Configuration」をクリックします。

2.7.3.3 リモートのHDFSクライアントのごみ箱機能の無効化

リモートのHDFSクライアントは、通常、CDHクライアントをダウンロードおよびインストールすると構成されます(「CDHへのリモート・クライアント・アクセスの提供」を参照)。Oracle SQL Connector for HDFSやOracle R Connector for Hadoopなどがリモート・クライアントです。

リモートのHDFSクライアントのごみ箱機能を無効化するには、次の手順を実行します。 

  1. CDHクライアントがインストールされているシステムへの接続を開きます。

  2. テキスト・エディタで/etc/hadoop/conf/hdfs-site.xmlを開きます。

  3. ごみ箱を空にする間隔をゼロにします。

    <property>
         <name>fs.trash.interval</name>
         <value>0</value>
    </property>
    
  4. ファイルを保存します。

2.8 Oracle Big Data Applianceソフトウェアについて

次の各項では、Oracle Big Data Applianceにインストールされるソフトウェアと、そのラック内での実行場所について説明します。一部のコンポーネントは、Oracle Database 11.2.0.2以降のリリースで動作します。

2.8.1 ソフトウェア・コンポーネント

次のソフトウェア・コンポーネントは、Oracle Big Data Applianceのラック内にある18台すべてのサーバーにインストールされます。Oracle Linux、必須ドライバ、ファームウェアおよびハードウェア検証ユーティリティは工場出荷時にインストール済です。その他のソフトウェアはすべて、Mammothユーティリティを使用してオンサイトでインストールします。オプションのソフトウェア・コンポーネントは、インストールで構成されない場合があります。


注意:

Oracle Big Data Applianceに追加のソフトウェアをインストールする必要はありません。これを行うと、保証やサポートの対象外となる可能性があります。詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。

ベースとなるイメージ・ソフトウェア: 

Mammothインストール: 

  • Cloudera's Distribution including Apache Hadoop Release 4 Update 1.2 (CDH)

  • Cloudera Manager Enterprise 4.1.2

  • Oracle Database Instant Client 11.2.0.3

  • Oracle NoSQL Database Community Edition 11gリリース2.0 (オプション)

  • Oracle Big Data Connectors 2.0 (オプション):

    • Oracle SQL Connector for Hadoop Distributed File System (HDFS)

    • Oracle Loader for Hadoop

    • Oracle Data Integrator Agent 11.1.1.6.0

    • Oracle R Connector for Hadoop


関連項目:

Mammothユーティリティの詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。

図2-8は、主要コンポーネント間の関係を示しています。

図2-8 Oracle Big Data Applianceの主要ソフトウェア・コンポーネント

図2-8の説明が続きます
「図2-8 Oracle Big Data Applianceの主要ソフトウェア・コンポーネント」

2.8.2 論理ディスク・レイアウト

各サーバーには12基のディスクが搭載されています。重要なオペレーティング・システムはディスク1および2に格納されます。

表2-2に、ディスク・パーティションの内容を示します。

表2-2 論理ディスク・レイアウト

ディスク 説明

1から2

150ギガバイト(GB)の物理および論理パーティションで、ミラー化により2つのコピーを作成し、Linuxオペレーティング・システム、インストール済のソフトウェアすべて、NameNodeデータおよびMySQL Databaseのデータを格納。NameNodeおよびMySQLデータベースのデータは、2つのサーバー間でレプリケートされているため、合計で4つのコピーがあります。

2.8テラバイト(TB)のHDFSデータ・パーティション。

3から10

単一のHDFSデータ・パーティション。

11から12

ソフトウェアのインストール時にアクティベートされた場合は単一のOracle NoSQL Databaseパーティション、それ以外は単一のHDFSデータ・パーティション。


2.9 ソフトウェア・サービスについて

この項で説明する項目は、次のとおりです。

2.9.1 CDHサービスの監視

Cloudera Managerを使用すると、Oracle Big Data Appliance上のCDHサービスを監視できます。

サービスを監視するには、次の手順を実行します。 

  1. Cloudera Managerで、ページ上部にある「Services」タブをクリックして、「Services」ページを表示します。

  2. サービス名をクリックすると、その詳細ページが表示されます。サービスの「Status」ページが開きます。

  3. 確認するページのリンク(「Status」、「Instances」、「Commands」、「Configuration」または「Audits」)をクリックします。

2.9.2 サービスの実行場所

すべてのサービスは全サーバー上にインストールされますが、個々のサービスはHadoopクラスタ内の指定されたノードでのみ実行されます。

表2-3に、プライマリ・ラックでサービスが実行されるノードを示します。すべてのノード上で実行されるサービスは、マルチラック構成のすべてのラックで動作します。

表2-3 ソフトウェア・サービスの場所

サービス・タイプ ロール ノード名 初期ノードの場所

Cloudera Management Services

Cloudera Managerエージェント

すべてのノード

node01からnode18

Cloudera Management Services

Cloudera Managerサーバー

JobTrackerノード

node02

HDFS

バランサ

第1NameNode

node01

HDFS

DataNode

すべてのノード

node01からnode18

HDFS

フェイルオーバー・コントローラ

第1NameNodeおよび第2NameNode

node01およびnode02

HDFS

第1NameNode

第1NameNode

node01

HDFS

JournalNode

第1NameNode、第2NameNode、JobTrackerノード

node01からnode03

HDFS

第2NameNode

第2NameNode

node02

Hive

Hiveサーバー

JobTrackerノード

node03

Hue

Beeswaxサーバー

JobTrackerノード

node03

Hue

Hueサーバー

JobTrackerノード

node03

MapReduce

JobTracker

JobTrackerノード

node03

MapReduce

TaskTracker

すべての非クリティカル・ノード

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

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構成ワークシートで必要とされている場合にのみ、開始されます。

2.9.3 NameNodeの自動フェイルオーバー

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の自動フェイルオーバー

図2-9の説明が続きます
「図2-9 Oracle Big Data ApplianceでのNameNodeの自動フェイルオーバー」

2.9.4 未構成のソフトウェア

次のツールはインストールされますが構成されません。使用する前に構成する必要があります。

  • Flume

  • HBase

  • Mahout

  • Sqoop

  • Whirr


関連項目:

構成の手順の詳細は、次のサイトで『CDH4 Installation and Configuration Guide』を参照してください

http://oracle.cloudera.com


2.10 ソフトウェアの可用性に与えるハードウェアの影響

サーバー障害の影響は、CDHクラスタ内におけるサーバーの機能によって異なります。Oracle Big Data Applianceサーバーは、コモディティ・ハードウェアよりも堅牢なため、ハードウェア障害が発生することはほとんどありません。この項では、プライマリ・ラックの様々なサーバー上で実行される重要性の高いサービスに焦点を当てています。詳細なリストは、表2-3を参照してください。

2.10.1 クリティカル・ノードと非クリティカル・ノード

クリティカル・ノードは、クラスタが正常に動作し、すべてのサービスをユーザーに提供するために必要です。これとは対照的に、非クリティカル・ノードに障害が発生しても、クラスタはサービスを失うことなく動作し続けます。

重要なサービスは、初期設定でプライマリ・ラックの最初の3つのノードにインストールされます。表2-4に、これらのノード上で実行される重要なサービスを示します。残りのノード(初期設定ではnode04からnode18)は重要性の低いサービスのみを実行します。クリティカル・ノードのいずれかでハードウェア障害が発生した場合は、別の非クリティカル・サーバーにサービスを移行できます。たとえば、node02に障害が発生した場合、その重要なサービスをnode05に移行するなどです。表2-4に、重要なサービスを提供しているノードの名前を示します。

クリティカル・ノードを移行するには、すべてのクライアントが新しいノードのアドレスで再構成されている必要があります。もう1つの方法としては、障害が発生したサーバーの復旧を待ちます。サービスの喪失とクライアントを再構成する不便さとを比較検討する必要があります。

表2-4 クリティカル・ノード

ノード名 初期ノードの場所 重要な機能

第1NameNode

node01

ZooKeeper、第1NameNode、フェイルオーバー・コントローラ、バランサ、Puppetマスター

第2NameNode

node02

ZooKeeper、第2NameNode、フェイルオーバー・コントローラ、MySQLバックアップ・サーバー

JobTrackerノード

node03

ZooKeeper、JobTracker、Cloudera Managerサーバー、Oracle Data Integratorエージェント、MySQLプライマリ・サーバー、Hue、Hive


2.10.2 第1NameNode

NameNodeインスタンスの1つは、初期設定ではnode01上で実行されます。このノードに障害が発生するか、オフライン(再起動など)になると、第2NameNode (node02)が自動的に引き継いで、クラスタの正常なアクティビティを維持します。

または、第2NameNodeがすでにアクティブな場合は、バックアップなしで動作し続けます。NameNodeが1つのみの場合、クラスタは障害に対して脆弱です。クラスタは、アクティブNameNodeの自動ファイルオーバーに必要な冗長性を失っています。

次の機能も影響を受けます。

  • バランサ: バランサは、クラスタ全体でデータが均等に分散されるよう、定期的に実行されます。第1NameNodeが停止していると、負荷分散は実行されません。

  • Puppetマスター: MammothユーティリティではPuppetを使用するので、たとえばラック内の別の場所にあるディスク・ドライブを交換する必要がある場合、ソフトウェアのインストールまたは再インストールはできません。

2.10.3 第2NameNode

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のオプション・コンポーネントであるため、それを使用しているかどうか、またアプリケーションにどの程度重要かによって、ノード障害の影響の度合いは異なります。

2.10.4 JobTrackerノード

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は動作を継続しますが、マスター・データベースのバックアップはありません。

2.10.5 非クリティカル・ノード

非クリティカル・ノード(node04からnode18)はオプションのため、障害が発生しても、Oracle Big Data Applianceはサービスを失うことなく動作し続けます。NameNodeでは失われたデータを自動的にレプリケートして、常に3つのコピーを保持します。MapReduceジョブは、クラスタの別の場所に保存されているデータのコピーに対して実行されます。ワークロードの分散先のサーバーが少なくなるので、処理能力のみが失われることになります。

2.11 オラクル社カスタマ・サポートに提供する診断情報の収集

CDHの問題のトラブルシューティングを行うために、Oracleサポートのアドバイスが必要な場合は、まずbdadiagユーティリティをcmオプションを指定して使用し、診断情報を収集してください。

診断情報を収集するには、次の手順を実行します。 

  1. Oracle Big Data Applianceサーバーにrootとしてログインします。

  2. 少なくともcmオプションを指定してbdadiagを実行します。必要に応じてコマンドに他のオプションを含めることができます。bdadiagの構文の詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。

    # bdadiag cm
    

    コマンド出力によって、診断ファイルの名前と場所が識別されます。

  3. My Oracle Support (http://support.oracle.com)へ移動します。

  4. サービス・リクエスト(SR)を開きます(まだ開いていない場合)。

  5. SRにbz2ファイルをアップロードします。ファイルのサイズが大きすぎる場合は、ftp.oracle.comにアップロードしてください(次の手順を参照)。

診断情報をftp.oracle.comにアップロードするには、次の手順を実行します。 

  1. FTPクライアントを開き、ftp.oracle.comに接続します。

    Oracle Big Data ApplianceからコマンドラインFTPクライアントを使用している場合は、例2-2を参照してください。

  2. パスワード・フィールドは空白のまま、anonymousユーザーとしてログインします。

  3. bda/incomingディレクトリで、ディレクトリ名にSR番号が付いたディレクトリを作成します(形式: SR番号)。作成されたディレクトリ構造は次のようになります。

    bda
       incoming
          SRnumber
    
  4. バイナリ・オプションを設定して、バイナリ・データの破損を防ぎます。

  5. 診断bz2ファイルを新しいディレクトリにアップロードします。

  6. フル・パス(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)

2.12 Oracle Big Data Applianceのセキュリティ

Oracle Big Data Applianceではソフトウェアやデータの不正利用を防ぐための予防策を取ることができます。

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

2.12.1 Oracle Big Data Applianceで使用されるポート番号

表2-5に、CDH用のポート番号の他に使用される可能性のあるポート番号を示します。CDHのポート番号の詳細なリストは、次に示すClouderaのWebサイトを参照してください。

http://ccp.cloudera.com/display/CDH4DOC/Configuring+Ports+for+CDH4

特定のサーバー上で使用されるポート番号を確認するには、次の手順を実行します。 

  1. Cloudera Managerで、ページ上部にある「Hosts」タブをクリックして、「Hosts」ページを表示します。

  2. 「Name」列でサーバーのリンクをクリックすると、その詳細ページが表示されます。

  3. 「Ports」セクションまで下方向にスクロールします。


関連項目:

ClouderaのWebサイト(CDHポート番号の確認):

表2-5 Oracle Big Data Applianceのポート番号

サービス ポート

Automated Service Monitor (ASM)

30920

MySQL Database

3306

Oracle Data Integrator Agent

20910

Oracle NoSQL Database管理

5001

Oracle NoSQL Databaseプロセス

5010から5020

Oracle NoSQL Database登録

5000

ポート・マップ

111

Puppetマスター・サービス

8140

Puppetノード・サービス

8139

rpc.statd

668

ssh

22

xinetd (サービス・タグ)

6481


2.12.2 Kerberosを使用したCDHのセキュリティ

Apache Hadoopは、本質的に安全なシステムではありません。ネットワーク・セキュリティによってのみ保護されています。接続が確立されると、クライアントはシステムに対して完全なアクセス権限を取得します。

Cloudera's Distribution including Apache Hadoop (CDH)では、Kerberosネットワーク認証プロトコルをサポートし、悪意のある偽装攻撃を防ぎます。Kerberosをインストールして構成し、Kerberos Key Distribution Centerおよびレルムを設定する必要があります。その後で、CDHの各種コンポーネントでKerberosを使用するように構成します。

Kerberosを使用するように構成された場合、CDHは次のセキュリティを提供します。

  • CDHマスター・ノード、NameNodeおよびJobTrackerでグループ名を解決し、ユーザーがグループのメンバーシップを操作できないようにします。

  • マップ・タスクはジョブを発行したユーザーのアイデンティティの下で実行されます。

  • HDFSの認可メカニズムおよびMapReduceを使用して、ユーザーのデータ・アクセスを制御します。


関連項目:

次のマニュアルは、http://oracle.cloudera.comで入手できます。
  • 『CDH4 Security Guide』

  • 『Configuring Hadoop Security with Cloudera Manager』

  • 『Configuring TLS Security for Cloudera Manager』


2.12.3 Puppetのセキュリティについて

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アドレスに解決されます。