飼育係のインストール、

飼育係の概要:

ZooKeeperのは、分散アプリケーションApacheプロジェクトへの協調的なサービスを提供するために、分散型のオープンソースです。
設計の観点からのZooKeeperは、パターンを理解する:分散サービス管理フレームワークに基づくオブザーバデザインパターン、データストレージ、みんなに心配の管理を担当し、その後、観察者の登録を受け付け、これらのデータの状況が変化すると、それのZooKeeper彼は、ZooKeeperの上に登録されているものをオブザーバーに通知する責任がありますそれに応じて反応します。
例:サービス・ノードがダウンした場合、サーバークラスタ、クライアントのグループは、すべてのZooKeeperの登録を通じて、あなたはいくつかの状態と通知クライアントダウンのZooKeeperクラスタサーバを監視することができます。

ZooKeeperの特徴:

1.のZooKeeper:リーダー(リーダー)、より多くのフォロワー(フォロワー)クラスタ構成。
2.限り、複数のクラスタ・ノードの生存の半分以上、ZooKeeperのクラスタは通常のサービスすることができるであろう。
3.グローバル・データの一貫性:各サーバーには関係なく、サーバーに接続し、そのうちのデータが一致しているデータを、クライアントの同一のコピーを保持します。
同じクライアントは、それらが送信された順序で実行更新する要求から4.更新要求順序。
アトミックデータ更新、データの更新はどちらか成功するか失敗します。
6.リアルタイム、一定時間内に、クライアントが最新のデータを読み取ることができます。

ZooKeeperのデータ構造

ZooKeeperのデータモデル構造とUnixファイルシステムのように、全体が木として見ることができるが、各ノードはのznodeと呼ばれています。データを記憶することができるそれぞれのznodeデフォルトの1メガバイトは、それぞれのznodeを一意にパスによって識別されます。

ZooKeeperのシナリオ

提供されるサービスが含まれます:、統一構成管理、統一されたクラスタ管理、オフラインのダイナミック・サーバ・ノード、ソフト負荷分散サービスを命名統一します。

ZooKeeperの内部の原則

選挙メカニズム
ハーフメカニズム:その他のクラスタマシンの半分以上が生き残るために、クラスタが利用可能です。そのため、インストール奇数のZooKeeperサーバー用。
ZooKeeperのマスターとスレーブは、設定ファイルで指定されていないが、クラスタの作業は、リーダーのノードがある場合、他のノードのフォロワー、リーダー選挙機構は、一時的に生成内部を通っている。ものの
初期化選挙のメカニズムクラスタを説明する:最初のサーバーは、その投票に、開始時に5台のサーバーのクラスタは、例えば、その後、半分のメカニズムを満たしていない(設定ファイルは、5台のサーバーを設定されている)、2番目のサーバーが起動そう、この時点で彼らの票を投じる、第三のサーバが起動するかのメカニズムのない満たす半分を行う;、彼らの票を投じるとき、この時間はまだメカニズムの半分を満たしていない、チケットはまた、第二のサーバーへの最初のサーバーを投票しました第一、第二のサーバは、第三のサーバに投票する、半分のメカニズムに沿ったもので、今あるので、第三のサーバのためのリーダー。

ZooKeeperのノードタイプ

永続的(永続的な)
永続ディレクトリノード:
ZooKeeperのクライアントが接続を切断した後、ノードがまだ存在します。
永続的なディレクトリノードのシーケンス番号
のZooKeeperクライアントが切断した後は、ノードがまだ存在するが、ZooKeeperのは、ノード名に連番。
説明:のznodeを作成するときに、配列同一性を設定値のznodeの名前を追加し、親ノードによって維持単調に増加するシーケンス番号カウンタ、です。
注:分散システムでは、シーケンス番号は、クライアントがすることにより、シーケンス番号の時間順序を推論することができるように、世界的にすべてのイベントのために発注するために使用することができます。
2.短い
一時ディレクトリノード
のZooKeeperクライアントが切断された後、ノードが削除されます。
一時的な連番ディレクトリノード
のZooKeeperクライアントの後には、ノードが削除され、切断されているが、ZooKeeperのノード名に順次番号が付けられています。

原則リスナー

A)詳細原則リスナー
1.まず、main()のスレッドが存在しなければなりません。
メイン()スレッドのZooKeeperクライアントを作成します。2.、それは二つのスレッド、LAN通信のための1つを作成します(connet)、(リスナー)リスニングのための1つ。
ZooKeeperのスレッドに接続するために聴い3.送るイベントが登録されます。
4.リストに追加登録されたリスナーのZooKeeperモニタイベントのリストに登録されました。
データパスを監視または変更する5.のZooKeeper、このメッセージは、リスナー・スレッドに送信されます。
6.リスナーの内部スレッドが(独自の方法を記述するためのプログラマー)工程()メソッドを呼び出します。

B)一般的なモニタは
1モニタノードデータを変更します

  1つのGETパス[ウォッチ]


2.モニターは、子ノードの変更に変更します

  1つのLSパス【時計】

書き込みデータの流れ

サーバ1のZooKeeper 1.クライアントの書き込みデータは、書き込み要求を送信します。
2. Server1にはリーダーではない場合、それはServer1がリーダーは、ZooKeeperのサーバーのそれぞれがあるので、さらに、リーダーに転送要求を受信します。リーダーは、各書き込み要求Serverに放送され、それぞれの書き込みが成功した後、サーバーは、リーダーに通知します。
リーダーは、サーバーのデータの書き込みのほとんどを受け取っ3は、そのデータ書き込み成功、成功しています。限り、データの書き込みの2つのノードが存在し、クラスタの3つのノードは、成功した場合、データが(半分機構)ゴング書き込みこと。書き込みが成功した後、リーダーは、サーバ1のデータ書き込み成功を教えてくれます。
4. Server1が、さらに、あなたは全体の書き込み操作の成功と信じて、クライアントのデータの書き込みが成功した通知します。

飼育係のインストール

 

zookeeper是java开发的,可以运行在windows,linux环境。安装之前需要先安装号jdk.

安装步骤:
第一步:安装jdk(linux环境下安装jdk的文档在右边栏的文件中)
第二步:把zookeeper的压缩包上传到linux系统。
第三步:解压缩压缩包
tar -zxvf zookeeper-3.4.6.tar.gz
第四步:进入zookeeper-3.4.6目录,创建data文件夹。
第五步:把zoo_sample.cfg改名为zoo.cfg
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
第六步:修改data属性:dataDir=/root/zookeeper-3.4.6/data
第七步:启动zookeeper
[root@localhost bin]# ./zkServer.sh start
关闭:[root@localhost bin]# ./zkServer.sh stop
查看状态:[root@localhost bin]# ./zkServer.sh status

 

启动命令:./bin/zkServer.sh start

停止命令:./bin/zkServer.sh stop  

重启命令:./bin/zkServer.sh restart

状态查看命令:./bin/zkServer.sh status

zookeeper使用教程:https://www.w3cschool.cn/zookeeper/

おすすめ

転載: www.cnblogs.com/zouhong/p/12290030.html