HDInsight HBase での移行と高可用性の戦略を決定する

完了

お客様は、オンプレミスから、またはクラスターのアップグレード時にバージョン間で、HBase クラスターを移行するときに、問題に直面することがよくあります。 HDInsight HBase には、移行、アップグレード、およびデータ損失の保護に関して、次のオプションが用意されています。

hbase フォルダーをコピーする

定期的なバックアップや移行には、通常、/hbase フォルダーをコピーする戦略が使用されます。 ディスクにフラッシュされたすべてのデータ ファイルとメタデータ ファイルは、HDInsight HBase によって /hbase フォルダーに格納されます。

注意

このプロセスにおいては、クラスター間のリアルタイムのレプリケーションも、特定のテーブルの細分性での移行も、提供されません。

次の手順を順番に実行して、HDInsight クラスターをバックアップおよび移行します。 HDInsight/hbase は wasbs://<containername>@<accountname>.blob.core.windows.net/hbase の場所に格納されます。

  1. ソース クラスター内で /hbase フォルダーが置かれているパスを確認します
  2. ソース クラスターへのすべての書き込みを停止し、ディスクへのフラッシュを強制的に実行して、メモリ内に何もないようにします。
  3. Blob Storage の場合は AzCopy を使用し、Data Lake Storage の場合は AdlCopy を使用して、/hbase 内のデータをターゲットの Azure Storage にコピーします。
  4. DR シナリオの場合は、将来の障害に備えてデータを別のリージョンに定期的に格納することができます。
  5. HBase の移行の場合は、新しく作成された HDInsight HBase クラスターの /hbase フォルダーにデータをコピーできます。

HBase の hbase フォルダーのコピー処理の詳細については、HDInsight の hbase フォルダーのコピーに関するドキュメントを参照してください。

エクスポートとインポート

エクスポートとインポートを使用すると、バックアップ プロセスの制御が向上し、フォルダー全体ではなく特定のテーブルをバックアップすることができます。 このプロセスでは、HBase クラスターの Export ユーティリティを使用して、選択したテーブルをクラスターにアタッチされているローカル ストレージにエクスポートします。 エクスポートしたテーブルは、後でターゲット クラスターからインポートできます。 エクスポートとインポートの操作の詳細については、HDInsight HBase のエクスポートとインポートに関するドキュメントを参照してください。

テーブルをコピーする

テーブルのコピーは、効率的なコピー メカニズムであり、テーブルの完全または部分的なコピー処理をきめ細かく制御できます。また、HBase の読み取りパスと書き込みのパスを使用して、コピー元からコピー先に、テーブルの一部または全体が 1 行ずつコピーされます。 コピー元とコピー先のクラスターは、同じクラスターでも異なるクラスターでもかまいません。 テーブルのコピー操作の詳細については、HDInsight HBase のテーブルのコピーに関するドキュメントを参照してください。

スナップショット

スナップショットを使用すると、特定時点のバックアップを有効にして、テーブルをロールバックできます。 スナップショットは実際のテーブル データのコピーではなく、管理者がテーブルを以前の状態に戻すのに役立つメタデータ情報です。 スナップショットは HDFS レベルで動作し、クラスター リソースを最適化するためにマスター サーバーとリージョン サーバーは含まれません。 スナップショット操作の詳細については、HDInsight HBase のスナップショットに関するドキュメントを参照してください。

レプリケーション

HBase のレプリケーション機能を使用すると、障害発生時の高可用性とビジネス継続性を確保できます。 データは、クラスター間で非同期的にコピーされます。レプリケーションは、リージョン内でも、グローバルな HADR モデルを保証するために Azure リージョン間でも機能できます。 HBase のレプリケーションの使用の詳細については、 HDInsight Hbase のレプリケーションに関するドキュメントを参照してください。