オンライン グラフ データベースは現在単一クラスターであるため、データ量が比較的多く、次のような欠点があります。
- 単一リスク点: クラスターがクラッシュするか、一部のクエリによってクラスター全体が停止すると、すべてのグラフ操作が影響を受けます。
- 多くの最適化クラスは実行が困難ですが、コンパクト、バランス リーダーなどの読み取りおよび書き込み操作に影響します。
- デュアルクラスタはアップグレードの際にも非常に有利で、例えばスタンバイクラスタをアップグレードしてからメインクラスタをアップグレードするなど、業務に影響を与えることなくアップグレードを行うことができます。つまり、オンライン データベースの安定性と可用性を高めるには、デュアル クラスターを構築する必要があります。
BRツールを選ぶ理由
現時点で、レプリケーション クラスター ソリューションには次のものが含まれることがわかっています。
- 新しいクラスタによってデータが書き換えられます。この場合、スキャンして新しいクラスタをインポートするプログラムを作成するか (遅すぎる)、 を渡す必要があります。 nebula-exchange< 下部のテーブル データに基づいています。 /span> 新しいクラスターをインポートします (履歴データが必要です)
- (信頼性が低い) 星雲データを新しいクラスターに完全にコピーします。次を参照してください: [データをコピーしてインポート] (ただし、この方法はテスト環境でテストが失敗しました)
- 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
新しいクラスターにはバックアップ前のホストが表示されます。
古いクラスターには、バックアップ前のホストの状況が表示されます。
一般的な手順
- 古いクラスター インストール エージェント (各マシンにインストール) および br (インストールするマシンを選択) ツール。
- 新しいクラスターのエージェントをインストールします (各マシンにインストールする必要があります)。
- 古いクラスターに br がインストールされているマシンで、br ツールを使用してバックアップ ファイルを生成し、メタをバックアップして古いクラスターのメタ アドレスを実行します。
- メタ ファイルをコピーします。古いクラスタ内の 1 台のマシンだけがバックアップ ディレクトリにメタを持っています。メタを古いクラスタ内の他のマシンにコピーする必要があります。
- 新しいクラスタ マシンに古いクラスタと同じバックアップ ディレクトリを作成します。例: 古いクラスタ バックアップ ディレクトリは
/usr/local/nebula_bak/BACKUP_2023_09_14_13_57_33
で、新しいクラスタ マシンも同じディレクトリを作成する必要があります。 :/usr/local/nebula_bak/BACKUP_2023_09_14_13_57_33
; - 古いクラスタのバックアップ ファイルを新しいクラスタにコピーします。古いクラスタの各マシンには独自のバックアップ ファイルがあることに注意してください。ここで、すべてのバックアップ ファイルを新しいクラスタにコピーし、それらを統合する必要があります。なぜなら、各マシンのデータの下にあるディレクトリ名はすべて
IP + PORT
の形式であるため、重複はありません。 - 古いクラスターに 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 からの「キールピボット」盗作声明に対応この記事があなたにインスピレーションを与えたと思われる場合は、忘れずに❤️を与えてください。励ましに感謝します