BDDのリストア

restoreコマンドを指定してbdd-adminスクリプトを実行することによって、バックアップTARファイルからクラスタをリストアできます。

クラスタを復元する前に、次の事項を確認する必要があります。
  • backupコマンドによって作成されたバックアップTARファイルにアクセスできる。
  • 現在のクラスタとバックアップ・クラスタの両方のBDDのメジャー・バージョンが同じである。
  • 両方のクラスタのデータベースのタイプが同じである(OracleまたはMySQL)。restoreは、Hypersonicデータベースをサポートしていません。
  • どちらのクラスタでもKerberosが有効になっている、または無効になっている。Kerberosクラスタは非Kerberosクラスタにリストアできず、その反対もできません。
  • 両方の環境のHadoopでTLS/SSLが有効になっているか、または無効になっている。セキュアな環境を非セキュアな環境にリストアすることはできず、その反対もできません。
  • BDD_STUDIO_JDBC_USERNAMEおよびBDD_STUDIO_JDBC_PASSWORD環境変数が設定されている。設定されていない場合、実行時にスクリプトでこの情報が要求されます。
  • データベース・クライアントは、管理サーバーにインストールされています。MySQLデータベースの場合、これはMySQLクライアントになります。Oracle Databaseの場合、これはOracle Database Clientであり、管理者タイプでインストールする必要があります。インスタント・クライアントはサポートされていないことに注意してください。
  • Oracleデータベースを所有している場合、ORACLE_HOME環境変数は、sqlplus実行可能ファイルがある/binディレクトリより1つ上のディレクトリに設定されます。たとえば、sqlplus実行可能ファイルが/u01/app/oracle/product/11/2/0/dbhome/binにある場合、ORACLE_HOME/u01/app/oracle/product/11/2/0/dbhome/binに設定されます。
  • リストア操作時に使用される一時ディレクトリは十分な空き容量を含みます。詳細は、「restore」を参照してください。

現在のクラスタには、バックアップ・クラスタとは異なるトポロジを指定できます。たとえば、ノードIPアドレス、ノードの合計数、およびBDDコンポーネントの場所は、2つの間で異なっていてもかまいません。

スクリプトが実行されると、Studioデータベース、Dgraphデータベースおよびサンプル・ファイルをバックアップからリストアします。

スクリプトは、構成ファイルをバックアップから完全には復元しないことに注意してください。構成ファイルを現在のクラスタの構成ファイルとマージします。復元されたクラスタには、バックアップ・クラスタの構成の一部が含まれていますが、ほとんどは現在のクラスタのものです。

restoreコマンドの詳細は、「restore」を参照してください。

重要: スクリプトは、現在のクラスタのデータをバックアップされたデータで上書きし、操作に失敗してもその復元をロールバックしません。このため、現在のクラスタに重要なデータが含まれている場合は、復元する前にバックアップする必要があります。

クラスタを復元するには、次の手順を実行します。

  1. 管理サーバー上で、$BDD_HOME/BDD_manager/binに移動します。
  2. クラスタが実行中の場合は、停止します。
    ./bdd-admin.sh stop
    前述のコマンドにより、クラスタは正常に停止します。これには長時間かかることがあります。オプションで、-t <minutes>を指定して、より早く強制的に停止することもできます。
  3. restoreコマンドを実行します。
    ./bdd-admin.sh restore <file>
    <file>は、リストア元となるバックアップTARファイルへの絶対パスです。
  4. STUDIO_JDBC_USERNAMEおよびSTUDIO_JDBC_PASSWORD環境変数を設定していない場合、尋ねられたら、データベース・ユーザー名とパスワードを入力します。
  5. スクリプトの実行が終了したら、変更が有効になるように、クラスタを再起動します。
    ./bdd-admin.sh restart
    前述のコマンドにより、クラスタは正常に停止します。これには長時間かかることがあります。オプションで、-t <minutes>を指定して、より早く強制的に停止することもできます。

スクリプトが実行されると、現在のDgraphデータベース・ディレクトリのコピーがDGRAPH_INDEX_DIR/.snapshot/old_copyに作成されます。リストアされるバージョンのDgraphデータベースを保持する場合は、これを削除する必要があります。