openGemini クラスター導入ガイド、簡単に始められます!

クラスター展開では、openGemini の 3 つのコンポーネントすべてを 1 つのノードに展開することも、コンポーネントを複数のノードに展開することもできます。

バイナリ パッケージをダウンロードし、インストールと展開を参照してください。

https://docs.opengemini.org/zh/guide/quick_start/get_started.html

擬似クラスターのデプロイ

openGemini クラスターのすべてのコンポーネントは同じノードにデプロイされ、このクラスター デプロイ方法は擬似クラスター デプロイメントと呼ばれます。現在、コミュニティはデプロイメント スクリプト install_cluster.sh を提供しています。

> sh scripts/install_cluster.sh

ヒント

このコマンドを実行すると、構成ファイル (1 つの ts-sql、3 つの ts-meta、2 つの ts-store コンポーネントを含む) を変更せずに、openGemini クラスターをローカルで直接起動できます。ただし、クラスターは、ローカル機能のテストと学習に使用できるローカル ループバック アドレス 127.0.0.1 のみを監視および実行し、外部アクセス サービスを提供することはできません。

クラスターがローカル IP をリッスンして外部ノードにアクセスできるようにする場合、構成は比較的複雑になるため、実行可能ではありますが、運用環境ではお勧めできません。また、1 つの ts-sql、3 つの ts-meta、および 2 つの ts-store で構成されるクラスターのデプロイメントを例に挙げます。

ポートの割り当て

すべてのノードは 192.168.0.1 などのローカル IP アドレスをリッスンするため、すべてのコンポーネント間で同じポートを使用することはできず、再割り当てする必要があります。次の割り当てを行うことができます (参照)。

設定ファイルの変更

openGemini のクラスタ設定項目は openGemini.conf ファイルに集約されており、クラスタを構成する際に ts-meta、ts-sql、ts-store を 1 つずつ同一ノード上にデプロイするか、それらを 2 つ組み合わせた場合、コンポーネントの場合、同じコンポーネントが同じノードにデプロイされていない場合 (IP とポートの競合がないため)、ノード上のすべてのコンポーネントに対して構成ファイル openGemini.conf を共有することを検討できます。

同じノード上に 3 つの ts-meta と 2 つの ts-store があるため、擬似クラスターをデプロイするときは共有することはできません。IP の競合が発生するため、各コンポーネントを構成ファイルに対応させることをお勧めします。具体的な手順は次のとおりです。

> cp –rf openGemini.conf sql.conf> cp –rf openGemini.conf meta-1.conf> cp –rf openGemini.conf meta-2.conf> cp –rf openGemini.conf meta-3.conf> cp –rf openGemini.conf store-1.conf> cp –rf openGemini.conf store-2.conf

sql.confを修正し、ローカルIPアドレスは例として192.168.0.1とする以下の部分のみ修正します。

[common]meta-join = ["192.168.0.1:8092", "192.168.0.1:8094", "192.168.0.1:8096"][http]bind-address = "192.168.0.1:8086"[logging]# 建议修改目录path = "/path/openGemini/logs"

meta-1.confを修正し、以下の部分のみ修正します

[common]meta-join = ["192.168.0.1:8092", "192.168.0.1:8094", "192.168.0.1:8096"][meta]bind-address = "192.168.0.1:8088"http-bind-address = "192.168.0.1:8091"rpc-bind-address = "192.168.0.1:8092"// 预防/tmp空间不足,建议替换/tmp目录dir = "/path/to/openGemini/data/meta/1"[logging]# 建议修改目录path = "/path/openGemini/logs"[gossip]bind-address = "192.168.0.1"meta-bind-port = 8010members = ["192.168.0.1:8010", "192.168.0.1:8012", "192.168.0.1:8013"

meta-2.confを修正し、以下の部分のみ修正します

[common]meta-join = ["192.168.0.1:8092", "192.168.0.1:8094", "192.168.0.1:8096"][meta]bind-address = "192.168.0.1:8089"http-bind-address = "192.168.0.1:8093"rpc-bind-address = "192.168.0.1:8094"// 预防/tmp空间不足,建议替换/tmp目录dir = "/path/to/openGemini/data/meta/2"[logging]# 建议修改目录path = "/path/openGemini/logs"[gossip]bind-address = "192.168.0.1"meta-bind-port = 8012members = ["192.168.0.1:8010", "192.168.0.1:8012", "192.168.0.1:8013"]

meta-3.confを修正し、以下の部分のみ修正します

[common]meta-join = ["192.168.0.1:8092", "192.168.0.1:8094", "192.168.0.1:8096"][meta]bind-address = "192.168.0.1:8090"http-bind-address = "192.168.0.1:8095"rpc-bind-address = "192.168.0.1:8096"// 为防/tmp空间不足,建议替换/tmp目录dir = "/path/to/openGemini/data/meta/3"[logging]# 建议修改目录path = "/path/openGemini/logs"[gossip]bind-address = "192.168.0.1"meta-bind-port = 8013members = ["192.168.0.1:8010", "192.168.0.1:8012", "192.168.0.1:8013"]

store-1.conf を変更し、以下の部分のみ変更してください /tmp の容量不足を防ぐため、/tmp ディレクトリを置き換えることを推奨します。

[common]meta-join = ["192.168.0.1:8092", "192.168.0.1:8094", "192.168.0.1:8096"][data]store-ingest-addr = "192.168.0.1:8400"store-select-addr = "192.168.0.1:8401"store-data-dir = "/path/to/openGemini/data/1"store-wal-dir = "/path/to/openGemini/data/1"store-meta-dir = "/path/to/openGemini/data/meta/1"[logging]# 建议修改目录path = "/path/openGemini/logs"[gossip]bind-address = "192.168.0.1"store-bind-port = 8011members = ["192.168.0.1:8010", "192.168.0.1:8012", "192.168.0.1:8013"]

store-2.confを変更し、以下の部分のみ変更します

[common]meta-join = ["192.168.0.1:8092", "192.168.0.1:8094", "192.168.0.1:8096"][data]store-ingest-addr = "192.168.0.1:8402"store-select-addr = "192.168.0.1:8403"store-data-dir = "/path/to/openGemini/data/2"store-wal-dir = "/path/to/openGemini/data/2"store-meta-dir = "/path/to/openGemini/data/meta/2"[logging]# 建议修改目录path = "/path/openGemini/logs"[gossip]bind-address = "192.168.0.1"store-bind-port = 8014members = ["192.168.0.1:8010", "192.168.0.1:8012", "192.168.0.1:8013"]

それでも ts-store を追加する必要がある場合は、この設定に従ってポートを変更し、プルアップします。

クラスターを引き上げる

スクリプトの編集

> cp –rf scripts/install_cluster.sh  scripts/cluster.sh> vim scripts/cluster.sh

cluster.sh スクリプトの 27 ~ 38 行目を削除またはコメント化します。

# generate configfor((i = 1; i <= 3; i++))dorm -rf config/openGemini-$i.confcp config/openGemini.conf config/openGemini-$i.confsed -i "s/{{meta_addr_1}}/${nodes[1]}/g" config/openGemini-$i.confsed -i "s/{{meta_addr_2}}/${nodes[2]}/g" config/openGemini-$i.confsed -i "s/{{meta_addr_3}}/${nodes[3]}/g" config/openGemini-$i.confsed -i "s/{{addr}}/${nodes[$i]}/g" config/openGemini-$i.confsed -i "s/{{id}}/$i/g" config/openGemini-$i.confdone

次に、起動コマンドの構成ファイルと関連ログ ディレクトリを変更します。

nohup build/ts-meta -config config/openGemini -1.conf -pidfile /tmp/openGemini/pid/meta1.pid > /tmp/openGemini/logs/1/meta_extra1.log 2>&1 &

への変更

nohup build/ts-meta -config config/meta-1.conf -pidfile /path/openGemini/pid/meta1.pid > /path/openGemini/logs/1/meta_extra1.log 2>&1 &

等々

変更完了後、コマンドを実行して擬似クラスタを起動します。

> sh scripts/cluster.sh

標準的なクラスターの展開

現在のところ、クラスター展開用の自動スクリプトはなく、手動でのみ展開できます。興味のあるお子様は、コミュニティに貢献してください。

openGemini クラスターのデプロイメントは図に示すとおりで、クラ​​スターには ts-meta(3x)、ts-sql(2x)、ts-store(2x) が含まれています。

この展開方法では、同じノードに 2 つの同一のコンポーネントが展開されることはなく、ポートの競合がないため、同じノード上のすべてのコンポーネントが構成ファイルを共有できます。


Node1:192.168.0.1 を例にとると、構成ファイル openGemini.conf を次のように変更するだけで済みます。

[common]meta-join = ["192.168.0.1:8092", "192.168.0.2:8092", "192.168.0.3:8092"][meta]bind-address = "192.168.0.1:8088"http-bind-address = "192.168.0.1:8091"rpc-bind-address = "192.168.0.1:8092"# 建议修改目录dir = "/path/openGemini/data/meta/1"[http]bind-address = "192.168.0.1:8086"[data]store-ingest-addr = "192.168.0.1:8400"store-select-addr = "192.168.0.1:8401"# 建议修改目录store-data-dir = "/path/openGemini/data/1"store-wal-dir = "/path/openGemini/data/1"store-meta-dir = "/path/openGemini/data/meta/1"[logging]# 建议修改目录path = "/path/openGemini/logs"[gossip]bind-address = "192.168.0.1"store-bind-port = 8011meta-bind-port = 8010members = ["192.168.0.1:8010", "192.168.0.2:8010", "192.168.0.3:8010"

Node2 と Node3 の構成ファイルは、次の 2 つの場所で変更されていません。

[common]meta-join = ["192.168.0.1:8092", "192.168.0.2:8092", "192.168.0.3:8092"][gossip]store-bind-port = 8011meta-bind-port = 8010members = ["192.168.0.1:8010", "192.168.0.2:8010", "192.168.0.3:8010"]

他の場所の IP アドレスは、それぞれ Node2 の IP 192.168.0.2 と Node3 の IP 192.168.0.3 に置き換えることができ、ポートを変更する必要はありません。

ヒント: openGemini には、クラスターをプルアップする際のコンポーネントの起動シーケンスに関する要件があります。

まず、3 つのノードすべてで ts-meta コンポーネントを開始します (コマンドの例)。

> nohup ts-meta --config openGemini.conf -pidfile meta.pid > meta_extra.log 2>&1 

次に、 ts-store コンポーネントを開始します (コマンドの例)。

> nohup ts-store --config openGemini.conf -pidfile store.pid > store_extra.log 2>&1 &

最後に ts-sql コンポーネントを開始します (コマンドの例)。

> nohup ts-sql --config openGemini.conf -pidfile sql.pid > sql_extra.log 2>&1 &

クライアント接続 。ts-cli コマンドラインを参照してください。

https://docs.opengemini.org/zh/guide/quick_start/get_started.html#%E5%91%BD%E4%BB%A4%E8%A1%8C-ts-cli

要約する

この記事では、openGemini でクラスターを簡単にデプロイする方法を、①疑似クラスターのデプロイ - ② クラスターのプルアップ - ③ 標準クラスターのデプロイの 3 つのステップで詳しく紹介します。このガイドはシンプルで理解しやすく、初心者に非常に適しており、この記事を読むことでクラスターを効率的かつ確実にデプロイできるようになると思います。

openGemini の使用で問題が発生した場合は、コミュニティに助けを求めてください。


openGemini公式ウェブサイト:http://www.openGemini.org

openGemini オープンソース アドレス: https://github.com/openGemini

openGemini パブリック アカウント:

注目へようこそ~openGeminiコミュニティに参加して、一緒に未来を構築、管理、共有することを心から歓迎します!

オープンソース フレームワーク NanUI の作者がスチールの販売に切り替えたため、プロジェクトは中断されました。Apple App Store の無料リストのナンバー 1 はポルノ ソフトウェア TypeScript です。人気が出てきたばかりなのに、なぜ大手はそれを放棄し始めるのでしょうか。 ? TIOBE 10月リスト:Javaが最大の下落、C#はJavaに迫る Rust 1.73.0リリース AIガールフレンドにイギリス女王暗殺を勧められた男性に懲役9年の実刑判決 Qt 6.6正式リリース ロイター:RISC-Vテクノロジーが中米テクノロジー戦争の鍵となる 新たな戦場 RISC-V: 単一の企業や国に支配されない レノボ、Android PC の発売を計画
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/3234792/blog/10116746