ダウンロード
https://archive.apache.org/dist/zookeeper/zookeeper-3.5.6/
まだ修正され、zoo.cfgファイルが、org.apache.zookeeper.server.quorum.QuorumPeerMainmを学んでZooKeeperの最初のダウンロードによると、およびその他の変更が無駄にBaiduのを見て、最終的には元飼育係を見つけるためにGoogleで見つけたしません直接使用するだけのソースではありません以前のtar.gzパッケージの平均ながらビンと時間後に3.5.5ダウンロードパッケージには、ファイルをダウンロードしてください
参照文献:
https://www.jianshu.com/p/ed6ec88b01c3
設置環境
システムバージョン |
centos7.7 |
飼育係のバージョン |
apacheの-飼育係-3.5.6-bin.tar.gz |
JDKのバージョン |
openjdk1.8 |
詳細な設定パラメータ(主%ZOOKEEPER_HOME%/ CONF / zoo.cfgファイル)
https://www.cnblogs.com/xiohao/p/5541093.html
飼育係のディレクトリ構造
ビン1 :それがある場合、スクリプトを実行するための場所のツールやスクリプト、のLinux 環境があるでしょう飼育係の操作ログの行zookeeper.out
コンファレンス2. :ZooKeeperのデフォルトの設定ディレクトリの読み取りには、デフォルトの設定ファイルが存在します
Contribの3 :のZooKeeper 拡張機能
ディスト- Mavenの4 :ZooKeeperのmavenのパッケージディレクトリ
ドキュメント5. :ZooKeeperの関連文書
LIB 6 :のZooKeeper コア瓶
レシピ7 :ZooKeeperのは、関連する分散型のjar パッケージを
SRC 8 :ZooKeeperのソース
インストールの単一のポイントを飼育係
まず、OpenJDKのインストール
yumをインストール java-1.8.0-OpenJDKののjava-1.8.0-OpenJDKの-develの
ダウンロードパッケージのZooKeeper
wgetのhttps://archive.apache.org/dist/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz
タールXFのapache-飼育係-3.5.6-bin.tar.gz
MVのapache-飼育係-3.5.6-binには/ usr / local /
CDは/ usr / local /
LN -s /usr/local/apache-zookeeper-3.5.6-bin/飼育係
設定の環境変数
vimのは/ etc / profile
輸出PATH = $ PATH:は/ usr / local /の飼育係/ binに/
ソースは/ etc / profile
vimのは/ etc / profile
システム環境変数の設定JDK
JAVA_HOME =は/ usr / local / javaの/ jdk1.8
JRE_HOME =は/ usr / local / javaの/ jdk1.8 / JRE
PATHには、$ PATHを=:$ JAVA_HOME / binに:$ JRE_HOME / binに
CLASSPATH =。$ JAVA_HOME / libに/ dt.jar:$ JAVA_HOME / libに/ tools.jarの:$ JRE_HOME / libに
輸出JAVA_HOME JRE_HOMEパスCLASSPATH
ログログディレクトリを作成します。
MKDIRは/ usr / local /飼育係/ log_snapshot#スナップショットログディレクトリ
MKDIRは/ usr / local /飼育係/ log_transaction#トランザクション・ログ・ディレクトリ
confディレクトリを入力します。
CDは/ usr / local /飼育係/ confに
名前を変更します
CP zoo_sample.cfg zoo.cfg
次のように具体的なパラメータは次のとおりです。
configureの主な必要性
DATADIR =は/ usr / local /飼育係/ log_snapshot
dataLogDir =は/ usr / local /飼育係/ log_transaction
飼育係スタート
サービス管理コマンド:zkServer.sh開始|停止|再起動|ステータス
接続クライアント
クライアントの接続:zkCli.sh -server $ {IP}:$ {ポート}
zkCli.sh 10.77.20.23:2181 -server
クライアントを閉じる:終了か、Ctrl + C
飼育係のポートは2181です
ZKノードが作成され、変更できない場合、ノードタイプが決定されたノードのいくつかの種類があります
一時的なノード(はかない):自動的に削除一時的に作成ノード・セッションが終了すると、あなたも手動で子供を持つことができない一時的なノードを削除することができます
時間順序ノード(EPHEMERAL_SEQUENTIAL):前記ノードが一時的に有するが、それは、分散ロック型ノードで使用されるシリアル番号を有することになります
永続ノード(永続):削除するために率先しない限り、永久を作成した後。
ノードの永続的な順序(PERSISTENT_SEQUENTIAL):自動的にノード名に10桁のシリアル番号、このノードのカウントの親ノードを追加し、永続ノードに対して、永続的なノードを作成した後にのみ、シーケンス番号よりも大きい場合2 ^ 32-1がオーバーフローします。
ノードを作成する飼育係
作成-s /テストZK- 123パラメータが#ノード耐えて作成されていない場合は、一時的なノードを作成するための#-e引数をノード名を、ノードのコンテンツに
ビューノードのコンテンツ
GET / ZK-テスト
[ノードの削除
削除/ ZK
接続ホスト:ポート - その他のZooKeeperアプリケーションに接続。
LSパス - パス内のリソースのリスト。ZooKeeperのクライアントコンソールではなく、デフォルトのリストでは、リソースのリストに場所を指定する必要があります。例えば:LS /;のようなLS /パス。
[-e] [-s]パスデータを作成する - など、ノードを作成します。
作成/テスト123 /テスト・ノードを作成するために、ノード123は、データ情報を運びます。
一時的なノード/テストを作成するには、-e /テスト123作成、キャリーデータ123を、一時的なノードは、現在のセッションのライフサイクルでのみ有効で、ノード・セッションが終了すると自動的に削除。
-s /ノード/テストのシーケンスを作成するためにテスト123を作成ノードのノードの順序で作成され、データを搬送123を、自動的になど、ZooKeeperのサフィックス情報を増加させる- / test00000001等。-eおよび-sパラメータを組み合わせて使用することができます。
パスを取得-特定のノードを表示します。以下のような:GET /テスト。結果は以下の通りであります:
設定された経路データ[バージョン] -ノードに対応する位置データセット。以下のような:セット/テスト「テストデータ」 。空間内に設定されるべきデータがある場合は、単一引用符の範囲を定義するデータが使用されます。各データの変更後、dataVersionプロパティの増分。あなたはsetコマンドでバージョンを指定することができ、バージョンデータは、このrevisionコマンドは、他のセッションは、このデータを変更しないときことを確実にするために使用された最後のクエリの値と一致していなければなりません。
削除パス[バージョン]は-指定されたノードを削除し、このコマンドは、子ノードを削除することはできません。以下のような:削除/テスト。前記一貫性のRMR経路を意味する設定コマンドのパラメータバージョン及びバージョンは-削除指定されたノードは、サブノードを含みます。
終了 - コンソールを終了
クラスタのセットアップ
クラスタ内のノードが半分に無一顧カット限り、飼育係は問題などだから、より多くのノード、複数のセキュリティにはならないでしょう
各ノードに追加します。
vimの/usr/local/zookeeper/conf/zoo.cfg
server.1 = 172.26.103.56:2881:3881
server.2 = 172.26.103.57:2881:3881
server.3 = 172.26.103.58:2881:3881
service.N = YYY:A:B
Nは:サーバーIDを表す(すなわち、内部MYID値)
YYY:サーバーアドレス
A:花リーダー、内部通信ポートと通信ポートを表すサーバ(デフォルト2888)と呼ばれます
B:表現選挙ポート(デフォルトは3888です)
DATADIRは、各ノードの飼育係にコンフィギュレーションファイルに設定されたディレクトリ内のMyID追加
エコー1> MYID
エコー2> MYID
エコー3> MYID
各ノードを起動します
/usr/local/zookeeper/bin/zkServer.sh開始
各ノードの役割のステータスを確認
/usr/local/zookeeper/bin/zkServer.sh状況
最適化、環境変数を追加
輸出PATH = $ PATH:は/ usr / local /の飼育係/ binに/
飼育係占有ポート8080について
最近のバージョンでは、ビルトインの管理コンソール桟橋によって開始されたがある飼育係、8080ポートを占有します。
飼育係の公式文書を見ることによって、我々は解決する3つの方法がありますが見つかりました:
(1)桟橋を削除します。
(2)ポートを変更します。
2つの方法の変更方法は、1が-Dzookeeper.admin.serverPort =あなたのポートの数を増やすために起動スクリプトである。一つはあるadmin.serverPortでzoo.cfgの増加=ポート番号が占有されていません
(3)起動スクリプトでは、このサービス、増加「-Dzookeeper.admin.enableServer = false」に無効にします