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

前
次

3 Oracle Database側のOracle Big Data SQLのインストール

3.1 Oracle Databaseサーバーでのインストール

Oracle Big Data SQLは、Hadoopクラスタ管理サーバーとOracle Databaseサーバー・ノードの両方にインストールする必要があります。この項では、Oracle DatabaseでのOracle Big Data SQL 3.1の完全インストールについて説明します。

Oracle Databaseサーバーをインストールするための前提条件

Oracle Big Data SQLがデータベース・ノードにすでにインストールされていて、既存の構成を更新する場合は、「データベース・ノードでの既存のOracle Big Data SQLインストールの再構成」を参照してください。

重要:

  • マルチノード・データベース(Oracle RACシステムなど)の場合、このインストールをデータベースのあらゆるノードで繰り返す必要があります。これを実行していない場合、Oracle Big Data SQLサービスを開始すると、RPC接続エラーが表示されます。インストール・スクリプトの実行時に、パラメータを使用して正しいネットワーク・インタフェース・アドレスを渡すことで、同じインストール・バンドルを各データベース・ノードで再使用できます。これについては、後述の「構成済のDatabase_IPアドレスを変更する必要がある場合」を参照してください。

  • Oracle Big Applianceでは、Oracle Big Data SQLはExadata Database MachineまたはExadata以外のサーバーのいずれかにあるOracle Databaseに接続できますが、同時に両方に接続することはできません。


必要なソフトウェア

サポートされるLinuxディストリビューション、Oracle Databaseリリース・レベルおよび必要なパッチについては、My Oracle Support『Oracle Big Data SQL Master Compatibility Matrix』(Doc ID 2119369.1)を参照してください。

注意:

このインストールを開始する前に、互換性マトリクスで規定されている正しいバンドル・パッチおよび個別パッチをあらかじめ適用しておいてください。

推奨されるHadoopクラスタへのネットワーク接続

Oracle DatabaseとHadoopクラスタ間のイーサネット接続には、10 Gb/sイーサネットをお薦めします。

環境変数

次のものが必須です。

  • ORACLE_SID

  • ORACLE_HOME

GI_HOME (Grid Infrastructureホーム・ディレクトリ)は、ORACLE_HOMEからアクセス可能な相対パス上にある場合、オプションです。それ以外にGridホームが存在する場合は、GI_HOMEを設定する必要があります。Gridホームがノード上に存在しない場合は、次に示す手順の説明に従ってbds-database-install.shスクリプトを実行する際に、crs=falseを使用する必要があります

すべてのデータベース・ノードでのBig Data SQLインストール・スクリプトのコピー、抽出および実行

この項の手順は、sudoが示されている場合を除き、oracleユーザーとして実行します。

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

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

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

  1. 「データベース側のインストール・バンドルの作成」の指示の一部としてまだそれを行っていない場合は、Hadoopクラスタ管理サーバー上のBDSSetupディレクトリからインストール・バンドルをデータベース・ノード上の/home/oracleにコピーします。

    $ scp bds-database-install.zip oracle@<database_node>:/home/oracle
  2. インストールを実行するために、oracleとしてデータベース・ノードにログオンします。

  3. バンドルを解凍し、cdを実行してzipファイルから抽出されたbds-database-installディレクトリに変更します。

    $ unzip bds-database-install.zip
    $ cd bds-database-install
    
  4. bds-database-install.shを実行します。

    表3-1に示されるオプションのbds-database-installパラメータに注意してください。

    [oracle@mydbserver bds-database-install]$ ./bds-database-install.sh

    特別な条件:

    • データベースでOracle Gridが使用されない場合は、bds-database-install.shコマンドで--crs=falseオプションを使用します。次に例を示します。

      [oracle@mydbserver bds-database-install]$ ./bds-database-install.sh --crs=false --dbname=<db-name> 

      Oracle Gridが稼働していない場合は、ORACLE_HOME/bin/mtactl start <MTA_SID>のように、MTA extprocも手動で起動する必要があります。デフォルトのインストールでは、MTA_SIDは、bds_<ORACLE_SID>_<Hadoop_cluster_name>と表されます。

    bds-database-install.sh/etc/oracle/cell/network-config/cellinit.oraが見つかり、更新されると、インストールが完了して次のメッセージが表示されます。
    bds-database-install: installation successful for cluster <cluster name>

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

パラメータ 機能
--crs Oracle Gridサポートの使用を指定します。Gridがこのデータベース・ノードで稼働していない場合、またはこのデータベースでGrid (CRS/ASM)をまったく使用しない場合、bds-database-install.shスクリプトで--crs=falseオプションを適用します。
--cdb 多層データベースの使用を指定します。
--db-resource Oracle Database SID (Oracle Databaseインスタンス名)を指定します。パラメータ--db-nameは旧リリースからのシノニムで、まだサポートされています。
--debug シェルのトレース・モードをアクティブにします。問題を報告する場合に、Oracleサポートがこの出力を確認する必要とする場合があります。
--grid-home Oracle Gridホーム・ディレクトリを指定します。
--info クラスタに関する情報を表示します。
--ip-cell db_cellプロセスに特定のIPアドレスを設定します。次の「構成済のDatabase_IPアドレスを変更する必要がある場合」を参照してください。
--install-as-secondary

セカンダリ・インストールを指定します。次の「プライマリ・インストールとセカンダリ・インストール」を参照してください。

--jdk-home JDKホーム・ディレクトリを指定します。
--reconfigure このノードとHadoopクラスタとの接続に関するパラメータを変更します。
--root-script-only rootスクリプトのみを生成します。
--uninstall-as-primary データベースからプライマリ・クラスタに関する情報を削除します。

重要:

--uninstall-as-primaryは、セカンダリ・クラスタでも使用される主要な情報も削除します。これを回避するには、データベースからすべてのHadoopクラスタを登録解除する場合を除き、--uninstall-as-secondaryを使用してプライマリをアンインストールします。そうしないと、各セカンダリHadoopクラスタへの接続をリストアするために、そのクラスタ用に生成されたデータベース・バンドルからソフトウェアを再インストールする必要があります。
--uninstall-as-secondary Oracle DatabaseからHadoopクラスタに関するメタデータを削除しますが、すべてのクラスタに共通する主要な情報は削除しません。
--version bds-database-install.shスクリプトのバージョンを示します。

プライマリ・インストールとセカンダリ・インストール

Oracle Database側のOracle Big Data SQLでは、単一のHadoopクラスタまたは複数のHadoopクラスタ(ネットワーク内の同じラック上でも異なるラック上でもかまいません)にアクセスできます。

各インストールでは、Hadoopクラスタをデータベースに登録します。データベースに登録されている最初のクラスタが、データベースのデフォルト/プライマリHadoopクラスタになります。この最初のインストールでは、Hadoopクラスタ上のデータへのアクセスに必要なJDK、HadoopクライアントおよびHiveクライアントもインストールします。

データベースで追加のHadoopクラスタに接続する場合は、そのクラスタで生成されたデータベース側のインストール・バンドルをデータベース・サーバーにデプロイします。これを解凍し、--install-as-secondaryオプションを指定してbds-database-install.shを実行します。この"セカンダリ・インストール"により、クライアントおよびJDKのインストールを不必要に繰り返さなくても、追加のHadoopクラスタに関するメタデータがOracle Databaseに追加されます。

データベースに登録されているクラスタが複数(1つのプライマリと任意の数のセカンダリ)ある場合、Oracle Big Data SQLユーザーは各Hadoopクラスタを別々に問い合せることも、JOINを実行して異なるクラスタからのデータを結合することもできます。

構成済のDatabase_IPアドレスを変更する必要がある場合

bds-config.jsonファイル内のDATABASE_IPパラメータは、データベース・ノードのネットワーク・インタフェースを指定します。パラメータを渡さずにbds-database-install.shを実行した場合、使用可能なネットワーク・インタフェースの中から(特にその長さの)IPアドレスが検索されます。構成済のDATABASE_IP設定をオーバライドするために、bds-database-install.sh––ip-cellパラメータを渡すことができます。

$ ./bds-database-install.sh --ip-cell=10.20.30.40/24

これを実行する考えられ得る理由は次のとおりです。

  • bds-database-install.shがエラーで終了する。構成されたIPアドレスが間違っている可能性がある。

  • クラスタに追加のデータベース・ノードがあり、定義されたDATABASE_IPアドレスが現在のノードのネットワーク・インタフェースではない。

  • 接続が複数ノード・データベースへのものである。この場合、各データベース・ノードでインストールを実行します。各ノードで、––ip-cellパラメータを使用して正しいDATABASE_IP値を設定します。

ip-cellの正しい値を判断するには、次のようにノード上のすべてのネットワーク・インタフェースを一覧表示します。
/sbin/ip -o -f inet addr show

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

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

3.2.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.3 ユーザーへのOracle Big Dataアクセスの付与

3.1以前のOracle Big Data SQLリリースでは、アクセスはPUBLICユーザー・グループに付与されます。3.1 (およびそれ以上のリリース)では、Oracle Big Data SQLにアクセスする必要がある各ユーザーに対して次の処理を実行する必要があります。

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

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

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

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