(Windows)zookeeperクラスターのデプロイ

 

1.zookeeperの動作環境にはJDKが必要です

        https://www.oracle.com/cn/java/technologies/javase-jdk15-downloads.html

 

2.zookeeperの非ソースバージョンをダウンロードします

        https://zookeeper.apache.org/releases.html

 

3. ZooKeeperソフトウェア圧縮パッケージを解凍した後、最初のフォルダーである限り、2つのフォルダーがあります。

        

    ZooKeeperソフトウェアのファイルとディレクトリは次のとおりです。

        

binディレクトリ

zkサービスプロセス、zkクライアント、およびその他のスクリプトを含むzk実行可能スクリプトディレクトリ。その中で、.shはLinux環境のスクリプトであり、.cmdはWindows環境のスクリプトです。

会議ディレクトリ

構成ファイルディレクトリ。zoo_sample.cfgはサンプル構成ファイルであり、独自の名前(通常はzoo.cfg)に変更する必要があります。log4j.propertiesは、ログ構成ファイルです。

ドキュメントディレクトリ

いくつかのドキュメントを保存する

Libディレクトリ

zkが依存するパッケージ。

 

4.構成サンプルzoo_sample.cfgはconfディレクトリにあります。zkを実行するに、その名前をzoo.cfg変更する必要があります

 

5.クラスターモードでは、すべてのzkServerプロセスは、異なるマシンにデプロイされたときに同じ構成ファイルを使用できます

異なるclientPortサーバーport1 port2、portの同じマシンにデプロイされたときに変更するには、競合を回避します)、たとえば次のようになります。

        

initLimit

ZooKeeperクラスターモードには複数のzkプロセスが含まれ、そのうちの1つがリーダーであり、残りのプロセスはフォロワーです。
フォロワーが最初にリーダーとの接続を確立すると、かなりの量のデータがリーダー間で送信されます。特に、フォロワーのデータはリーダーよりもはるかに遅れています。initLimitは、フォロワーとリーダーの間の接続を確立した後の同期の最大時間を構成します。

syncLimit

フォロワーとリーダーの間でメッセージ、要求、および応答を送信するための最大時間を構成します。

tickTime

TickTimeは、上記の2つのタイムアウト構成の基本単位です。たとえば、initLimitの場合、構成値は5であり、タイムアウト期間が2000ms * 5 = 10秒であることを示します。

server.id = host:port1:port2

idは、zkプロセスのIDを表す数値であり、このIDは、dataDirディレクトリ内のmyidファイルの内容でもあります
hostはzkプロセスが配置されているIPアドレスであり、port1はフォロワーとリーダーがメッセージを交換するために使用するポートを表し、port2はリーダーを選出するために使用されるポートを表します。

dataDir

ZKはに新しいディレクトリに対応する件のデータのフォルダ(と同じDATADIR)カタログのトランキングモードをしたときに、新しいファイルMYIDを作成しますmyidファイルのコンテンツには1行しかありません。これは、zkプロセスのIDを表すserver.idのIDに対応、コンテンツは1〜255の数字のみにすることができます。上記の例の3つのサーバーのmyidコンテンツは、それぞれ1、2、および3です

 

6.ダブルクリックしてzkServer.cmdを実行し、zkサービスを開始すると、3台のマシンにリーダーと2つのフォロワーがあることがわかります(リーダーとフォロワーは、複数のzkサーバーが起動した場合にのみ表示されます)。

        (エラーJAVA_HOMEが設定されていないことが報告された場合はzkEnvでJAVA_HOME確認する前にJDKの場所を追加して、JAVA_HOME = C:/ Program Files / JetBrains / JDK / jdk-15.0.1設定します

        

        

 

7.clusterコマンドを接続します。

        zkCli -server 192.168.229.160:2181,192.168.229.161:2181,192.168.229.162:2181

        

        CONNECTEDは、クラスターに接続することを意味します。図に示すように、接続するサーバーはランダムです。これは、192.168.229.162:2181が接続されていることを意味します。

 

PS:Zookeeperにはそのような機能があります。クラスター内のマシンの半分以上が正常に動作している限り、クラスター全体を外部から利用できますつまり、2つのzkがある場合、1つは死ぬことはできません。3つのzkがある場合、最大で1つが死ぬことができます。4つのzkがある場合、同じものが最大で1つ死ぬことができます。したがって、コストパフォーマンスの観点から、奇数のzkノードを選択します

 

おすすめ

転載: blog.csdn.net/tianxiefenxiang/article/details/112968443