Zookeeperは実際にはYahooによって開発され、分散アプリケーションで一貫した処理を行うためのフレームワークとして使用されます。もともとはHadoopの開発の副産物でした。分散システムでの整合性処理が難しいため、他の分散システムは手間をかけて再発明する必要がないため、動物園飼育係はその後の分散システムで広く使用され、動物園飼育係はさまざまな分散システムの基本コンポーネントになりました。ステータスの重要性は想像できます。有名な** hadoop、kafka、dubboはすべて動物園の飼育係に基づいています**。
動物園の飼育係が何をしているのかを理解するには、まず一貫性とは何かを明確に理解する必要がありますか? ****
いわゆる一貫性は、実際には「見る」ことを中心に展開します。誰が見ることができますか?見えますか?いつ見ましたか?例:Taobaoバックエンドセラーは、大きなプロモーションアイテムをバックエンドに配置し、サーバーAを介してメインデータベースに送信します。送信直後に、アプリケーションサーバーBを介してデータベースからアイテムをクエリするユーザーがいると仮定します。現象、売り手は正常に更新されましたが、買い手はそれを見ることができません。しばらくすると、マスターデータベースのデータがスレーブデータベースに同期され、買い手はそれを見つけることができます。
売り手の更新が成功した直後に買い手が売り手の更新を見ることができると仮定すると、それは強い一貫性と呼ばれます
売り手の更新が成功した後、買い手が売り手によって更新されたコンテンツを見ることができない場合、それは弱い一貫性と呼ばれます**
売り手が正常に更新された後、買い手は最終的な一貫性と呼ばれる一定期間後に最終的に売り手の更新を見ることができます
[ 「適合協定」](http://www.cnblogs.com/leesf456/p/6001278.html)
[ 「ZooKeeperアプリケーションシナリオ」](http://www.cnblogs.com/leesf456/p/6036548.html)
[ 「分散アーキテクチャ」](http://www.cnblogs.com/leesf456/p/5992377.html)
[ 「分散型ZooKeeperシリーズ」](http://www.cnblogs.com/leesf456/tag/%E5%88%86%E5%B8%83%E5%BC%8F/)
VMwareバージョン番号:12.0.0
CentOSバージョン:CentOS 7.3.1611
ZooKeeperバージョン:ZooKeeper-3.4.9.tar.gz
JDK環境:jdk-8u144-linux-x64.tar.gz
JDK1.8のインストール
具体的なリファレンス["CentOs7.3install JDK1.8"](https://segmentfault.com/a/1190000010716919)
cd /opt/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
または、ブラウザでoptディレクトリにダウンロードしてアップロードします
cd /opt/
tar -zxf zookeeper-3.4.9.tar.gz
cd zookeeper-3.4.9
データファイルを保存するための data
フォルダを作成します
mkdir data logs
ログを保存するための logs
フォルダを作成します
mkdir logs
コマンド vi conf / zoo.cfg
を使用して、構成ファイルを作成し、psで開きます(実際には、ディレクトリ conf
の下にデフォルトの構成ファイルがありますが、コメントが多すぎ、英語が多すぎて、面倒です)
vi /opt/zookeeper-3.4.9/conf/zoo.cfg
編集内容は以下の通りです
tickTime =2000
dataDir =/opt/zookeeper-3.4.9/data
dataLogDir =/opt/zookeeper-3.4.9/logs
tickTime =2000
clientPort =2181
initLimit =5
syncLimit =2
構成ファイルの説明
tickTime
dataDir
dataLogDir
initLimit
syncLimit
/opt/zookeeper-3.4.9/bin/zkServer.sh start
応答
ZooKeeper JMX enabled by default
Using config:/opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
ZooKeeperサービスに接続します
/opt/zookeeper-3.4.9/bin/zkCli.sh
応答
Connecting to localhost:21812017-08-2216:43:05,954[myid:]- INFO [main:Environment@100]- Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/201606:50 GMT
2017- 08- 2216:43:05,958[ myid:]- INFO [main:Environment@100]- Client environment:host.name=node1
2017- 08- 2216:43:05,958[ myid:]- INFO [main:Environment@100]- Client environment:java.version=1.8.0_144
2017- 08- 2216:43:05,967[ myid:]- INFO [main:Environment@100]- Client environment:java.vendor=Oracle Corporation
2017- 08- 2216:43:05,967[ myid:]- INFO [main:Environment@100]- Client environment:java.home=/usr/lib/jvm/jre
2017- 08- 2216:43:05,967[ myid:]- INFO [main:Environment@100]- Client environment:java.class.path=/opt/zookeeper-3.4.9/bin/../build/classes:/opt/zookeeper-3.4.9/bin/../build/lib/*.jar:/opt/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/opt/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/opt/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/opt/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/opt/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/opt/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/opt/zookeeper-3.4.9/bin/../conf:.:/lib/jvm/lib:/lib/jvm/jre/lib
2017- 08- 22 16:43:05,967 [ myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2017- 08- 22 16:43:05,967 [ myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2017- 08- 22 16:43:05,967 [ myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2017- 08- 22 16:43:05,967 [ myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2017- 08- 22 16:43:05,967 [ myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2017- 08- 22 16:43:05,967 [ myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-514.26.2.el7.x86_64
2017- 08- 22 16:43:05,968 [ myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2017- 08- 22 16:43:05,968 [ myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2017- 08- 22 16:43:05,968 [ myid:] - INFO [main:Environment@100] - Client environment:user.dir=/opt/zookeeper-3.4.9
2017- 08- 22 16:43:05,969 [ myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@506c589e
Welcome to ZooKeeper!
2017- 08- 22 16:43:06,011 [ myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2017- 08- 22 16:43:06,164 [ myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@876] - Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session
2017- 08- 22 16:43:06,237 [ myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x15e091bf2020000, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[ zk: localhost:2181(CONNECTED) 0]
/opt/zookeeper-3.4.9/bin/zkServer.sh status
応答
ZooKeeper JMX enabled by default
Using config:/opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: standalone
/opt/zookeeper-3.4.9/bin/zkServer.sh stop
応答
bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config:/opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[ CentOs7.3ビルドZooKeeper-3.4.9クラスタークラスターサービス](https://cloud.tencent.com/developer/article/1041160?from=10680)
Recommended Posts