nebula-br ローカルストア モード、アクティブおよびスタンバイ クラスターの構築の簡単な練習

オンライン グラフ データベースは現在単一クラスターであるため、データ量が比較的多く、次のような欠点があります。

  1. 単一リスク点: クラスターがクラッシュするか、一部のクエリによってクラスター全体が停止すると、すべてのグラフ操作が影響を受けます。
  2. 多くの最適化クラスは実行が困難ですが、コンパクト、バランス リーダーなどの読み取りおよび書き込み操作に影響します。
  3. デュアルクラスタはアップグレードの際にも非常に有利で、例えばスタンバイクラスタをアップグレードしてからメインクラスタをアップグレードするなど、業務に影響を与えることなくアップグレードを行うことができます。つまり、オンライン データベースの安定性と可用性を高めるには、デュアル クラスターを構築する必要があります。

BRツールを選ぶ理由

現時点で、レプリケーション クラスター ソリューションには次のものが含まれることがわかっています。

  1. 新しいクラスタによってデータが書き換えられます。この場合、スキャンして新しいクラスタをインポートするプログラムを作成するか (遅すぎる)、 を渡す必要があります。 nebula-exchange< 下部のテーブル データに基づいています。 /span> 新しいクラスターをインポートします (履歴データが必要です)
  2. (信頼性が低い) 星雲データを新しいクラスターに完全にコピーします。次を参照してください: [データをコピーしてインポート] (ただし、この方法はテスト環境でテストが失敗しました)
  3. nebula-br 経由でバックアップし、新しいクラスタに復元します (この記事はこの方法に基づいています)

オンラインで完全な履歴データを追跡することは困難、下部の表に基づいてデータを再構築することはできないためです。さらに、スキャン方法が遅すぎるため、BR 方法が選択されました。

注意

  • この記事は、検証を構築するためのテスト環境に基づいています。データ量が比較的少なく、オンラインで検証されていません。参照のみを目的としています。さらに、 公式簡単なBR 練習も付属します。
  • (非常に重要です) BR ツールのバックアップを使用する前に、まずその制限を理解する必要があります。BR ドキュメント

環境紹介

  • 星雲バージョン: 3.6.0
  • nebula のインストール パス:/usr/local/nebula
  • nebula-metad サービス ポート: 9559 (インストール ディレクトリの scripts/nebula-metad status から表示できます)
  • バックアップディレクトリ:/usr/local/nebula_backup

バックアップ方法:フル(フルイメージバックアップ、部分領域も指定可能)

  • 3 台の古いクラスター マシン (すでに履歴データがある): 192.168.1.2、192.168.1.3、192.168.1.4
  • 3 台の新しいクラスター マシン (データなし、データは古いクラスターからコピーされる): 192.168.2.2、192.168.2.3、192.168.2.4

新しいクラスターにはバックアップ前のホストが表示されます。

古いクラスターには、バックアップ前のホストの状況が表示されます。

一般的な手順

  1. 古いクラスター インストール エージェント (各マシンにインストール) および br (インストールするマシンを選択) ツール。
  2. 新しいクラスターのエージェントをインストールします (各マシンにインストールする必要があります)。
  3. 古いクラスターに br がインストールされているマシンで、br ツールを使用してバックアップ ファイルを生成し、メタをバックアップして古いクラスターのメタ アドレスを実行します。
  4. メタ ファイルをコピーします。古いクラスタ内の 1 台のマシンだけがバックアップ ディレクトリにメタを持っています。メタを古いクラスタ内の他のマシンにコピーする必要があります。
  5. 新しいクラスタ マシンに古いクラスタと同じバックアップ ディレクトリを作成します。例: 古いクラスタ バックアップ ディレクトリは/usr/local/nebula_bak/BACKUP_2023_09_14_13_57_33で、新しいクラスタ マシンも同じディレクトリを作成する必要があります。 :/usr/local/nebula_bak/BACKUP_2023_09_14_13_57_33;
  6. 古いクラスタのバックアップ ファイルを新しいクラスタにコピーします。古いクラスタの各マシンには独自のバックアップ ファイルがあることに注意してください。ここで、すべてのバックアップ ファイルを新しいクラスタにコピーし、それらを統合する必要があります。なぜなら、各マシンのデータの下にあるディレクトリ名はすべて IP + PORT の形式であるため、重複はありません。
  7. 古いクラスターに br がインストールされているマシン上で、br ツールを使用してバックアップ ファイルを復元します。復元するとき、メタは新しいマシンのメタ アドレスを指します。

詳細な手順

古いクラスタ内のすべてのマシンにエージェントをインストールします。インストール方法については、エージェントのインストールの概要を参照してください。例として、nebula-agent をダウンロードした後、/usr/local/nebula/bin ディレクトリに保存し、chmod +x nebula-agent を使用して実行権限を付与します。

192.168.1.2

nohup ./nebula-agent -agent="192.168.1.2:9999" -debug -meta="192.168.1.2:9559" > agent.log 2>&1 &

192.168.1.3

nohup ./nebula-agent -agent="192.168.1.3:9999" -debug -meta="192.168.1.3:9559"  > agent.log 2>&1 &

192.168.1.4

nohup ./nebula-agent -agent="192.168.1.4:9999" -debug -meta="192.168.1.4:9559"  > agent.log 2>&1 &

br ツールを nebula の bin ディレクトリにダウンロードし、nebula-br という名前を付け、chmod コマンドを使用して実行権限を付与します。

現時点での古いクラスター マシンのトポロジ図は次のとおりです。

(古いクラスター) br ツールがインストールされている 192.168.1.4 マシンを選択し、バックアップのために次のコマンドを実行します。

./nebula-br backup full --meta="192.168.1.4:9559" --storage="local:///usr/local/nebula_backup"

(古いクラスター) バックアップ後の各マシンのバックアップ ディレクトリの詳細は次の図に示すようになります。

(古いクラスター) メタを他のマシンのバックアップ ディレクトリにコピーします。

以下は、192.169.1.2 (このマシンのみがメタを生成し、メタのリーダー ノードでのみ生成される) マシンから 192.168.1.3 および 192.168.1.4 マシン ディレクトリにコピーされます。

新しいクラスターのエージェントをインストールします。

192.168.2.2

nohup ./nebula-agent -agent="192.168.2.2:9999" -debug -meta="192.168.2.2:9559" > agent.log 2>&1 &

192.168.2.3

nohup ./nebula-agent -agent="192.168.2.3:9999" -debug -meta="192.168.2.3:9559"  > agent.log 2>&1 &

192.168.2.4

nohup ./nebula-agent -agent="192.168.2.4:9999" -debug -meta="192.168.2.4:9559"  > agent.log 2>&1 &

新しいクラスター サービス トポロジ図:

古いクラスターのバックアップ ファイルを新しいクラスター マシンにコピーします。完成したトポロジ図は次のとおりです。

古いクラスタ マシン /usr/local/nebula_backup から新しいクラスタ マシン /usr/local/nebula_backup ディレクトリにデータをコピーします。

(古いクラスター) br ツールがインストールされている 192.168.1.4 マシンを選択し、次のコマンドを実行して新しいクラスターに復元します。ここでのメタは、新しいクラスター マシンの 1 つのメタ アドレスを指し、ストレージ アドレスは前の手順で新しいクラスターによって作成されたバックアップ アドレス:

./nebula-br restore full --meta="192.168.2.4:9559" --storage="local:///usr/local/nebula_backup" --name="BACKUP_2023_09_14_13_57_33"

ログを確認します。古いクラスター マシンから新しいクラスターへの復元は、エラーが報告されることなく完了しました。nebula-console を使用して新しいクラスターに接続し、スペースの状況を確認できます。

新しいクラスターにはホストの状況が表示されます。

まとめ

実際、公式はバックアップと復元にローカル モードを推奨していません。操作が複雑すぎてエラーが発生しやすいため、古いクラスターを新しいクラスターにコピーする必要がないように、S3 または NTF を使用してマウントすることをお勧めします。集まる。

この記事は、NebulaGraph テクノロジー コミュニティの年次エッセイ募集イベントに参加しています。エッセイ募集の詳細:https://discuss.nebula-graph.com.cn/t/トピック/13970

この記事があなたにインスピレーションを与えたと思われる場合は、忘れずに❤️を与えてください。励ましに感謝します

SenseTime 創設者、Tang Xiaoou 氏が 55 歳で死去 2023 年、PHP は停滞 Wi-Fi 7 が完全に利用可能になる2024 年初頭にデビュー、Wi-Fi 6 の 5 倍高速 Hongmeng システムが独立しつつあり、多くの大学が「Hongmeng クラス」を設立 Zhihui Jun の新興企業が借り換え、金額は 6 億元を超え、事前評価額は 35 億元 Quark Browser PC 版が内部テストを開始 AI コード アシスタントは人気があり、プログラミング言語のランキングはすべてです できることは何もありません Mate 60 Pro の 5G モデムと無線周波数技術ははるかに先を行っています MariaDB が SkySQL を分割し、確立されました独立した企業として<​​/span> Xiaomi、Yu Chengdong 氏の Huawei からの「キールピボット」盗作声明に対応
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/4169309/blog/10140548