主コンテンツへ
Oracle® Big Data SQLインストレーション・ガイド
リリース3 (3.2)
E92090-01
目次へ移動
目次
索引へ移動
索引

前
次

3 Oracle Database側のOracle Big Data SQLのインストールまたはアップグレード

Oracle Big Data SQLは、Hadoopクラスタ管理サーバーとOracle Databaseサーバーの両方にインストールする必要があります。この項では、単一ノード・システム、RACシステムなどOracle DatabaseシステムでのOracle Big Data SQL 3.2のインストールについて説明します。

3.1 データベース側のインストールを開始する前に

インストールを開始する前に、この項のポイントを確認します。

Oracle Big Data SQLの現在のバージョンがOracle Databaseシステムにすでにインストールされており、既存の構成に変更を加えている場合は、インストール・プロセス全体を繰り返す必要はありません。「既存のOracle Big Data SQLインストールの再構成」を参照してください。

重要:

  • マルチノード・データベース(Oracle RACシステムなど)の場合、このインストールをデータベースの各コンピュート・ノードで繰り返す必要があります。これを実行していない場合、Oracle Big Data SQLサービスを開始すると、RPC接続エラーが表示されます。

    インストーラの実行時に、オプションの--ip-cellコマンドライン・パラメータを含めて、そのノードの正しいネットワーク・インタフェース・アドレスを渡すことで、同じインストール・バンドルを各データベース・ノードで再利用できます。このパラメータが使用されていない場合、インストーラがそれを検索して選択します。

  • Gridが稼働中のデータベース・ノードのルートにはパスワードなしSSHを設定することをお薦めします。そうしないと、各ノードでインストール時に資格証明を指定する必要があります。

  • インストールの前にまだdiskmonプロセスが稼働していない場合、インストールを完了するためには、Gridインフラストラクチャの再起動が必要になります。

  • 複数のHadoopクラスタから同じデータベースへのOracle Big Data SQL接続を設定する場合は、各接続の構成が同じであることを確認してください。インフィニバンドを使用する接続とイーサネットを使用する接続を設定しないでください。同様に、1つの構成でデータベース認証を有効にする場合は、異なるHadoopクラスタと同じデータベース間のすべてのOracle Big Data SQL接続でこの機能を有効にする必要があります。

  • データベース・システムがKerberosで保護されている場合、データベース所有者プリンシパルの認証を実行できるのは1つのKDCのみであることに留意してください。Oracle Big Data SQLは、現時点では複数のKerberosチケットをサポートしていません。複数のHadoopクラスタ接続が同じデータベース所有者によってインストールされる場合は、すべてが同じKDCを使用する必要があります。

    KRB5_CONF環境変数は、1つの構成ファイルのみを指している必要があります。構成ファイルが存在している必要があり、変数自体はシステム起動時にデータベース所有者アカウントに対して設定されている必要があります。

3.1.1 グリッド・インフラストラクチャの再起動要件の可能性

特定のデータベース環境では、bds-database-install.shcellinit.oraまたはcelliniteth.ora(あるいはその両方)を作成する必要があります。このような場合、スクリプトは同じような変更をGridインフラストラクチャ内のすべてのノードに伝播しようとします。このために、スクリプトではoracleroot間にパスワードなしSSHを設定することが要求されるか、または実行時にノードごとにルートのパスワードが求められます。変更の性質によってGridインフラストラクチャの再起動が必要となる場合、スクリプトによってGridインフラストラクチャを手動で再起動する必要があることを示すメッセージも表示されます。再起動が必要な場合、Gridの資格証明なしではインストールを完了することはできないため、Gridのパスワードが手元にあることを確認してください。

3.1.1.1 いつグリッドまたはデータベースの再起動が必要であるかの判断

Oracle Big Data SQLのデータベース側では、diskmonプロセスはHadoopクラスタとの通信の役割を担うエージェントです。これはOracle Exadata Database Machine上の機能と同様、コンピュート・ノードとストレージ・ノード間の通信を管理します。

Grid環境では、diskmonはGridユーザーによって所有されます。Grid環境以外では、Oracle Databaseの所有者によって所有されます。

Oracle Big Data SQLでは、diskmon設定は、/etc/oracle/cell/network-config/ディレクトリ内のcellinit.oraおよびcelliniteth.oraファイル上に格納されます。クラスタの接続要件に従い、インストーラによってこれらのファイルは更新されます。

これは、いつGridまたはOracle Databaseを再起動する必要があるかどうかを判断するための方法です。

  • インストーラで旧版のcellinit.oraまたはcelliniteth.oraファイルが存在しないことが検出された場合、いずれのdiskmonプロセスも実行していないことを意味します。このような場合、環境にOracle Gridが含まれているのであれば、Gridを再起動する必要があります。環境にGridが含まれていない場合は、Oracle Databaseを再起動する必要があります。

  • 旧版のcellinit.oraまたはcelliniteth.oraファイル(あるいはその両方)が存在する場合は、diskmonプロセスが実行していることを示します。この場合、インストーラでこれらのファイルに変更を加える必要がなければ、データベースのみを再起動する必要があります。

  • マルチノードのGrid環境では、diskmonはすべてのノード上で単一のコンポーネントとして機能し、cellinit.oraおよびcelliniteth.oraがすべてのノード上で同期化される必要があります。このタスクは、SSHを介して行われます。クラスタ上でパスワードなしSSHが設定されている場合は、ユーザーの操作は必要ありません。パスワードなしSSHが設定されていない場合は、スクリプトは一時停止し、すべてのノードに対してrootの資格証明を入力することが求められます。すべてのノード間のcellinit.oraおよびcelliniteth.oraファイルが同期化されている場合は、スクリプトは続行します。その後、スクリプトが完了し、この場合はGridインフラストラクチャを再起動する必要があります。

3.2 データベース側のインストール・ディレクトリについて

インストールのデータベース側を開始するには、データベース側のインストール・バンドルを解凍し、含まれている実行ファイルを実行します。実行ファイルによって、$ORACLE_HOME/BDSJaguar3.2.0の下にインストール・ディレクトリが作成されます。次に例を示します。

$ORACLE_HOME/BDSJaguar-3.2.0/cdh510-6-node1.mycluster.mydomain.com

Oracle Big Data SQLのインストールは、このディレクトリの作成時には完了していません。ディレクトリは、データベース・ノードでインストールを完了するために必要なすべてのファイルが含まれているステージング領域です。

データベースと複数のHadoopクラスタ間にOracle Big Data SQL接続を確立できます。各接続は個別のデータベース側のインストールを介して確立されるため、個別のインストール・ディレクトリが作成されます。インストール・ディレクトリの名前に含まれるセグメントにより、この特定の接続でのHadoopクラスタを識別できます。

<Hadoop cluster name>-<Number nodes in the cluster>-<FQDN of the cluster management server node>

このディレクトリを保持する必要があります。これは、インストールの最新の状態を取得し、必要に応じてそれを使用してインストールを再生成できます。さらに、今後Hadoopクラスタの変更にあわせてインストールのデータベース側の調整が必要になった場合、Jaguarのreconfigureコマンドまたはupdatenodesコマンド、あるいはその両方によって生成された更新がこのディレクトリに適用されます。

oracle (または他のデータベース所有者)以外のユーザーによってインストール・ディレクトリが変更または削除されないように、権限の適用を検討してください。

3.3 Oracle Databaseノードでのインストール手順

Oracle Big Data SQLのデータベース側をインストールするには、Hadoopクラスタ管理サーバーに作成されたデータベース側のインストール・バンドルが含まれているZIPファイルをコピーして、それを解凍し、含まれている実行ファイルを実行してから、インストーラを実行します。

データベース所有者(oracleなど)として、この項の手順を実行します。バンドルは一時ディレクトリにステージングしますが、バンドルを解凍し、含まれている実行ファイルを実行した後、インストール・パッケージは$ORACLE_HOMEの下のサブディレクトリにインストールされます。例: $ORACLE_HOME/BDSJaguar-3.2.0/cdh510-6-node1.mycluster.mydomain.com

開始する前に、ORACLE_HOMEおよびORACLE_SIDが正しく設定されていることを確認してください。

コンポーネントのコピーおよびインストールの準備

  1. まだそうしていない場合は、希望の方法を使用して、Hadoopクラスタ管理サーバーからOracle Databaseサーバーにデータベース側のインストール・バンドルをコピーします。バンドルが複数ある場合は、Oracle Databaseに接続するクラスタに適切なバンドルを選択してください。一時的なステージング領域として使用する任意の場所にそれをコピーします。コピー操作を実行する場合、Hadoopクラスタ管理サーバーにrootとしてログオンし、Oracle Big Data SQLインストール・ディレクトリ内のバンドルの場所に移動し、バンドルをデータベース・サーバーにプッシュする方法が簡単です。データベース側でのリモート・ログオンにデータベース所有者アカウント(通常はoracle)を使用します。次に例を示します。
    # cd <Big Data SQL Install Directory>/BDSJaguar/db-bundles
    # scp bds-3.2.0-db-<cluster>-<yymmdd.hhmi>.zip oracle@<database_node>:/opt/tmp
  2. データベース・リクエスト・キーを生成した場合は、そのキーもOracle Databaseサーバーにコピーします。

    # cd <Big Data SQL Install Directory>/BDSJaguar/dbkeys
    # scp <database name or other name>.reqkey oracle@<database_node>:/opt/tmp
  3. データベース・サーバー・ホストにoracle (またはデータベース所有者であるユーザー)としてログオンし、cdを使用して1つ以上のファイルをコピーしたディレクトリに移動します。

  4. バンドルを解凍します。これには、単一の圧縮された実行ファイルが含まれています。

  5. 前提条件の環境変数($ORACLE_HOMEおよび$ORACLE_SID)が設定されていることを確認します。

  6. バンドルを$ORACLE_HOMEに解凍するためにファイルを実行します。次に例を示します。
    $ ./bds-3.2.0-db-cdh510-170309.1918.run

    Oracle Databaseインスタンスと複数のHadoopクラスタ間に独立したOracle Big Data SQL接続を設定できるため、runコマンドは$ORACLE_HOME/BDSJaguar-3.2.0の下のクラスタ固有のディレクトリにバンドルを解凍します。次に例を示します。

    $ ls $ORACLE_HOME/BDSJaguar-3.2.0
      cdh510-6-node1.mycluster.mydomain.com
      test1-3-node1.myothercluster.mydomain.com

    BDSJaguar-3.2.0ディレクトリがまだ存在しない場合には一緒に作成されます。

  7. データベース・リクエスト・キーを生成した場合は、新しく作成したインストール・ディレクトリにそれをコピーします。次に例を示します。

    $ cp /opt/tmp/mydb.reqkey $ORACLE_HOME/BDSJaguar-3.2.0/cdh510-6-node1.mycluster.mydomain.com
    

    ヒント:

    また、キー・ファイルを一時的な場所に置いておき、そのキー・ファイルが存在する場所をスクリプトに指示するためにインストール・コマンドで--reqkeyパラメータを使用することもできます。このパラメータでは、デフォルト以外のリクエスト・キーのファイル名またはパス、あるいはその両方を指定できます。

    ただし、インストール・スクリプトがインストール・ディレクトリ内のキーを検出するのは、キー・ファイル名がデータベース名と同じ場合のみです。それ以外の場合、キーがローカルであっても、異なる名前をキーに付けた場合には、インストール・スクリプトが識別できるように引き続き--reqkeyを使用する必要があります。

クラスタのインストール・ディレクトリを用意したら、Oracle Big Data SQLのすべてのデータベース側をインストールするための準備は完了です。

Oracle DatabaseノードでのOracle Big Data SQLのインストール

重要:

インストールの最後に、次のいずれかまたは両方の条件においてOracle Databaseの再起動が1回必要になることがあります。

  • Oracle DatabaseにOracle Grid Infrastructureが含まれていない場合。この場合、diskmonのスタンドアロン操作をサポートするために、インストール・スクリプトによってpfileまたはspfile構成ファイルが変更されます。

  • cellinit.oraに記録されているIPアドレスおよび通信プロトコルに変更がある場合。これらのパラメータは、Hadoopクラスタ上のセルへの接続を定義します。たとえば、これが再インストールで、Hadoop/Oracle Database接続のIPアドレスがイーサネット・アドレスからインフィニバンド・アドレスに変更されるか、プロトコルが(TCPとUDP間で)変更されるか、またはその両方の場合、データベースを再起動する必要があります。

  1. データベースが実行中でない場合には起動します。

  2. Oracle Databaseノードにoracleとしてログオンし、$ORACLE_HOME/BDSJaguar-3.2.0の下のクラスタ固有のインストール・ディレクトリに移動します。次に例を示します。

    $ cd $ORACLE_HOME/BDSJaguar-3.2.0/cdh510-6-node1.my.domain.com 
    
  3. データベース側のOracle Big Data SQLインストーラであるbds-database-install.shを実行します。オプションのパラメータをいくつか含める必要がある場合があります。

    $ ./bds-database-install.sh [options]
  4. データベースを再起動します(オプション)。

関連項目:

bda-database-install.shインストーラ・コマンドは、通常はオプションですが構成によっては必須になるパラメータをサポートしています。「bds-database-install.shのコマンドライン・パラメータ・リファレンス」を参照してください

データベース認証またはHadoop Secure Impersonationを有効にした場合の追加のステップ

  • このインストール・バンドルの作成に使用される構成ファイルでdatabase_auth_enabledまたはimpersonation_enabledがtrueに設定されている場合、データベース側のインストーラによって生成されたZIPファイルをHadoopクラスタ管理サーバーにコピーし、Jaguarのデータベース確認応答操作を実行します。これで、HadoopクラスタとOracle Databaseの間のログイン認証の設定が完了します。

    インストール・ディレクトリでGUIDキー・ペアが含まれているZIPファイルを探します。このファイルには、次の形式に従った名前が付けられています。
    <name of the Hadoop cluster>-<number nodes in the cluster>-<FQDN of the node where the cluster management server is running>-<FQDN of this database node>.zip
    次に例を示します。
    $ ls $ORACLE_HOME/BDSJaguar-3.2.0/cdh510-6-node1.my.domain.com/*.zip 
    $ mycluster1-18-mycluster1node03.mydomain.com-myoradb1.mydomain.com.zip
    1. ZIPファイルをHadoopクラスタ管理サーバーの/opt/oracle/DM/databases/confにコピーします。

    2. クラスタ管理サーバーにrootとしてログオンし、Oracle Big Data SQLがインストールされたディレクトリの下の/BDSJaguarに移動し、databaseack (Jaguarのデータベース確認応答ルーチン)を実行します。インストール・バンドルの生成に使用された構成ファイル(bds-config.jsonなど)を渡します。

      # cd <Big Data SQL Install Directory>/BDSJaguar
      # ./jaguar databaseack bds-config.json

3.3.1 bds-database-install.shのコマンドライン・パラメータ・リファレンス

表3-1 bds-database-install.shのオプション・パラメータ

パラメータ 機能
--install

このクラスタへのOracle Big Data SQL接続をインストールします。

注意:

ここで--installパラメータが必要になるのは、bds-database-install.shでインストールを実行するためです。

これは、このパラメータが暗黙的なデフォルトになる3.2よりも前のOracle Big Data SQLのリリースと異なります。

--version bds-database-install.shスクリプトのバージョンを示します。
--info

クラスタ名、クラスタ管理サーバー・ホスト、Webサーバーなど、クラスタに関する情報を表示します。

--grid-home

Oracle Gridホーム・ディレクトリを指定します。

--crs

Oracle Big Data SQL MTA extprocを設定するには、crsctlを使用します。Grid以外の環境では無視されます。

--crs={true|false}

インストーラは、Gridが実行されているかどうかを常に検証します。Gridが実行されていない場合、インストーラはGridがインストールされておらず、データベースが単一インスタンスであると見なします。次に、crsフラグをfalseに自動的に設定します。

--crs=trueが明示的に設定されておらず、Gridが見つからない場合、インストーラはGI_HOMEを設定する必要があることを通知するエラー・メッセージで終了します。

--cdb

CDBデータベースのすべてのPDBにデータベース・オブジェクトを作成します。

--cdb={true|false} 
--ip-cell

複数のネットワーク・インタフェースがある単一インスタンス・データベース環境でdiskmonプロセスによって使用されるIPアドレス。

非コモディティ・ハードウェア(Oracle Exadata Database Machine)では無視されます。

--ip-cell=<IP address> 
--db-resource

非推奨。

Oracle Big Data SQLスクリプトは、ORACLE_SIDまたはORACLE_HOME環境変数で指定されているデータベース上で実行されます。

--db-resource=$ORACLE_SID
--db-name

非推奨。

Oracle Big Data SQLスクリプトは、ORACLE_SIDまたはORACLE_HOME環境変数で指定されているデータベース上で実行されます。

--db-name=$ORACLE_HOME
--reqkey

このパラメータは、リクエスト・キー・ファイルの名前と場所をインストーラに伝えます。データベース認証は、構成でデフォルトで有効になっています。この機能を有効にしない場合を除き、構成を完了する手順の1つとして、--reqkeyを使用する必要があります。

  • キー・ファイルがローカル・ディレクトリ内にない場合にキー・ファイル名およびパスを指定するには、次のようにします。

    $ ./bds-database-install.sh --reqkey=/opt/tmp/some_name.reqkey --install

  • ファイルはローカルであるもののファイル名がデータベース名とは異なる場合に、キー・ファイル名を指定するには、次のようにします。

    $ ./bds-database-install.sh --reqkey=some_name.reqkey --install

リクエスト・キー・ファイル名をパスなしで指定した場合、キー・ファイルはインストール・ディレクトリにあるものと見なされます。ファイル名がデータベース名と同じである場合、インストーラはキーを探します。

たとえば、この場合、リクエスト・キー・ファイルはインストール・ディレクトリにあり、名前はデータベース名と同じです。

$ ./bds-database-install.sh --install

このファイルは、最初のHadoopクラスタをデータベースに接続するためにデータベース側で1回のみ使用されます。同じデータベースに接続する後続のクラスタ・インストールでは、この構成されたキーが使用されます。.reqkeyファイルを再送信する必要はありません。

--uninstall

このクラスタへのOracle Big Data SQL接続をアンインストールします。

--reconfigure

bd_cellネットワーク・パラメータ、Hadoop構成ファイルおよびBig Data SQLパラメータを再構成します。  このクラスタに接続するためのOracle Big Data SQLインストールがすでに存在している必要があります。

Hadoopクラスタ側で変更(DataNodeインベントリの変更など)が行われた場合は、reconfigureを実行します。

 --databaseack-only

データベース確認応答zipファイルを作成します。(その後、Hadoopクラスタ管理サーバー上の/opt/oracle/DM/databases/confにzipファイルをコピーし、./jaguar databaseack <configuration file>を実行する必要があります。)

 --mta-restart

 MTA extprocが再起動します。(Oracle Big Data SQLがすでにデータベース・サーバーにインストールされている必要があります。)

--mta-setup

他に変更を加えることなく、MTA extprocを設定します。(Oracle Big Data SQLがすでにデータベース・サーバーにインストールされている必要があります。)

--mta-destroy

MTA extprocを破棄し、他に変更は加えません。(Oracle Big Data SQLがすでにデータベース・サーバーにインストールされている必要があります。)

--aux-run-mode

Oracle Big Data SQLは一般ユーザー(スーパーユーザー以外)としてデータベース側にインストールしているため、rootユーザーまたはGridユーザー、あるいはその両方としてタスクを実行する必要がある場合には、bds-database-install.shが一時停止している間に、インストーラがそれらのアカウントの下で他のスクリプトを実行できるようにシェルを生成する必要があります。

--aux-run-modeパラメータでは、これらの補助スクリプトを実行するモードを指定します。

--aux-run-mode=<mode>

モードのオプションは次のとおりです。

  • session - 生成されたセッションを使用します。

  • su - 代替ユーザーとして実行します。

  • sudo - sudoを使用します。

  • ssh - セキュア・シェルを使用します。

  --root-script
起動rootスクリプトの実行を有効または無効にします。
 --root-script={true|false}
--no-root-script

起動rootスクリプトの実行を無効にします。

以前のリリースからの--root-script-onlyパラメータは廃止されています。

3.4 ユーザー・アクセス権の付与

3.1以前のOracle Big Data SQLリリースでは、アクセスはPUBLICユーザー・グループに付与されます。現在のリリースでは、Oracle Big Data SQLにアクセスする必要があるユーザーごとに次の処理を実行する必要があります。

  • BDSQL_USERロールを付与します。

  • BigDataSQL構成ディレクトリ・オブジェクトの読取り権限を付与します。

たとえば、user1にアクセスを付与するには、次のようにします。

SQL> grant BDSQL_USER to user1; 
SQL> grant read on directory ORACLE_BIGDATA_CONFIG to user1;

関連項目:

Hadoopデータへのアクセスを間接的にユーザーに提供するには、DBMS_BDSQL PL/SQLパッケージを使用します。このパッケージが実装しているマルチユーザー認可機能は、Hadoop Secure Impersonationを使用して、oracleアカウントを有効にし、他の指定のユーザーのかわりにタスクを実行できるようにします。