飼育係のLinuxのインストールと使用
まず、設置条件
飼育係をインストールするには、まず、LinuxでJDKをインストールする必要があります。インストール手順を参照してください。
https://www.cnblogs.com/expiator/p/9987351.html
第二に、アーカイブの飼育係をダウンロードし、解凍します
1.まず、入力は/ usr / local /ディレクトリには、他のディレクトリを指定できます。
[ルート@ localhostの/]#のCDは/ usr / local
2.飼育係のインストールパッケージは、公式ウェブサイトからダウンロードすることができます。
また、後でこのアドレスダウンロードすることができます http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gzを
リンクが機能しない場合は、最初に開い http://mirror.bit.edu.cn/apache/zookeeperを して、バージョンを選択します。
このディレクトリの飼育係でインストールパッケージをダウンロード:
[ルート@ localhostのローカル]#wgetのhttp://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
3.エキス:
飼育係-3.4.13.tar.gz -zxvf [ルート@ localhostのローカル]#タール
第三に、設定ファイルを編集
1. confディレクトリに移動します:
[ルート@ localhostのローカル]#のCDの飼育係-3.4.13 / confに
zoo_sample.cfgのzoo.cfg 2.コピーし、このファイルを(ファイル名でなければなりません)
[ルート@ localhostのconfに]#cpはzoo_sample.cfg zoo.cfg
3.編集のために行くzoo.cfgファイル
[ルート@ localhostのCONF]#のVimのzoo.cfg
4.私が編集モードに入るため、以下のように変更:
DATADIR =を/ tmp /飼育係/データ dataLogDir =を/ tmp /飼育係/ログ
注:クラスタを設定したい場合は、下記のCLIENTPORTにサーバーのIPを追加してください。として
server.1 = 192.168.180.132:2888:3888
server.2 = 192.168.180.133:2888:3888
server.3 = 192.168.180.134:2888:3888は、
コンピュータ・メモリが比較的小さい場合には、飼育係は、擬似クラスタに提供することができます。つまり、同じIPを使用して、すべてのサーバーですが、別のポートを使用しています。
5. tmpディレクトリにディレクトリを作成します。
[ルート@のローカルホストCONF]#のMKDIR / TMP /飼育係
[ルート@のローカルホストCONF]#のMKDIR / TMP /飼育係/データ
[ルート@ localhostのconfに]#のMKDIRを/ tmp /飼育係/ログ
6.クラスタを構成している場合、あなたはまたDATADIRたパスの前にMYID設定ファイルを追加する必要があります
[ルート@ localhostのconfに]#のCDを/ tmp /飼育係/データ
[ルート@ localhostのデータ]#タッチMYID
[ルート@ localhostのデータ]#のVimのMYID
、データディレクトリ内のファイル、「MYID」という名前のファイルを作成し、「MYID」ファイルを編集し、マシンの対応するIPに対応する番号を入力します。
192.168.180.132のように、「MYID」ファイルの内容が1です。192.168.180.133では、コンテンツが2です。
第四に、環境変数を設定します
1.次のように仕上げるために上記の操作の後、私たちは、環境変数を設定する必要があり、コマンド設定環境変数:
[ルート@ localhostの飼育係-3.4.13]#輸出ZOOKEEPER_INSTALLは=は/ usr / local /飼育係-3.4.13 / [ルート@ localhostの飼育係-3.4.13]#輸出PATH = $ PATHに:$ ZOOKEEPER_INSTALL / binに
第五に、飼育係を開始
1. binディレクトリに移動し、zookeep開始。それはbinディレクトリで実行されていない場合は、飼育係を起動したときに、文句を言うでしょう:bashの:./zkServer.sh:そのようなファイルやディレクトリはありませんが
注意:. ./ZkServer.sh早いスタートが無視することはできません。
/usr/local/zookeeper-3.4.13/binます。#cd [localhostをローカル@ルート] [ルート@ localhostのビン]#の./zkServer.sh開始
2.次のように成功した結果が起動します。
ZooKeeperのJMXはデフォルトで有効に 設定を使用する:/usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg 飼育係を開始しています... STARTED
サーバ側は、開始3.zookeeper後、またあなたは、飼育係のクライアントを起動する必要があります。
[ルート@ localhostのビン]#./zkCli.sh
次のコマンドを使用して別のホスト・ノードの複数の接続、場合:
./zkCli.sh -server 192.168.180.132:2888
次のように起動し、正常な効果があります。
ローカルホストへの接続:2181
..........
..........
..........
ZooKeeperのへようこそ! 2018年10月25日21:04:54407 [MYID:] - INFO [メインSendThread(ローカルホスト:2181):ClientCnxn $ SendThread @ 1029] -サーバーはlocalhost / 0へのソケット接続を開く:0:0:0:0: 0:0 2181:1。SASL(不明なエラー)を使用して認証しようとしません JLineサポートが有効になっている INFO [メインSendThread(ローカルホスト:2181):ClientCnxn $ SendThread @ 879] - -ソケット接続04:::54471 [MYID] 2018年10月25日21 0:0:0:0:0:0:1:2181、セッション開始/ 0をlocalhostに設立 [ZK:localhostを:2181(接続)0] 2018年10月25日21:04:54501 [MYID:] - INFO [メインSendThread(localhostを:2181 ):ClientCnxn $ SendThread 1303] @ -サーバーのローカルホスト上のセッションの確立を完全/ 0:0:0:0:0:0:0:1:2181、セッションID = 0x10000712e6f0000、交渉されたタイムアウト= 30000 WATCHER :: WatchedEvent状態:SyncConnectedタイプ:なしパス:ヌル
4.ステータスを表示:
[ルート@ localhostのビン]#の./zkServer.shステータス はデフォルトで有効になってZooKeeperのJMX /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg:設定使用 モード:スタンドアロン
私は解決するためにどのような問題が発生しましたか?
飼育係のエラーログはzookeeper.outに記録されます。
どのzkServer.shがディレクトリに書き込まれますコマンド、zookeeper.outを起動し実行した後、ディレクトリ内に現在あります。
Vimのzookeeper.outはエラーメッセージを表示することができます。そして、検索ソリューション。
六、飼育係の使用
./zkCli.shクライアントから入力した後、あなたは飼育係を操作するコマンドを使用することができます。
1.ノードを作成します。
createコマンドを使用して、あなたは、飼育係のノードを作成することができます。
[-S] [-e]パスデータACLを作成
前記シーケンスノード-sは、-e一時的なノードを表します。デフォルトでは、永続的なノードを作成します。
パスは、データは、ノードデータは、ACLは、アクセス制御に使用されるパスのノードです。
次のように:
呼ばれる/ ZK-テストノードを作成し、内容が「123」であります
[ZK:はlocalhost:2181(CONNECTED)0] / ZK-テストを作成する123
/ ZK-テストを作成
/ ZK-テスト子ノードブックを作成すると、内容が「233」であります
[ZK:はlocalhost:2181(CONNECTED)7]を作成/ ZK-テスト/ブック233 / ZK-テスト/ブック作成
2.チェックノードコンテンツ
getコマンドを使って、あなたがコンテンツを取得し、情報の飼育係、指定されたノードの属性することができます。
次のように:
[ZK:はlocalhost:2181(CONNECTED)1] GET / ZK-テスト
123 cZxid = 0x3a のctime =日11月11日21時50分44秒CST 2018 mZxid = 0x3a のmtime =日11月11日21時50分44秒CST 2018 pZxid = 0x3a cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0の データ長= 3 するnumChildren = 0
3.子ノードを確認
指定されたノードのすべての子ノードを参照するためにlsコマンドを使用します
すべての子ノードのルートディレクトリを表示します。
[ZK:はlocalhost:2181(CONNECTED)2] LS /
[ZK-試験、飼育係]
子ノードのZK-テストノードを確認します。
[ZK:はlocalhost:2181(CONNECTED)3]、LS / ZK-試験
[書籍]
4.更新ノードコンテンツ
ノードの内容を更新するには、setコマンドを使用します。形式は次のとおりです。
設定されたパスデータ
これでは、データは新しいコンテンツを更新します。
[ZK:はlocalhost:2181(CONNECTED)4] / ZK-テスト設定456 cZxid = 0x3a のctime =日11月11日21時50分44秒CST 2018 mZxid = 0x3b のmtime =日11月11日22時05分20秒CST 2018 pZxid = 0x3a cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0の データ長= 3 するnumChildren = 0
出力情報を見つけることができるでデータノードが変更に操作結果のちょうど更新されたバージョンが行われているため、dataVersion値は、1に0から増加しました。
6.ノードの削除
次のように、ノードを削除するには、deleteコマンドを使用します。
[ZK:はlocalhost:2181(CONNECTED)11] /削除ZK-テスト
ノードでない空:/ ZK-試験
ノードの子ノードがある場合に見つけることができ、ノードを削除することはできません。
次のように、子ノード/ ZK-テスト/本を削除します:
[ZK:はlocalhost:2181(CONNECTED)12] / ZK-テスト/ブック削除 WATCHERを:: WatchedEvent状態:SyncConnectedタイプ:NodeDeletedパス:/ ZK-テスト/本
ウォッチャーは、子ノードの変更が通知されます場合は、飼育係にノードを監視します。プロンプト子ノード/ ZK-テスト/本は正常に削除されました。
ノード/ ZK-テストを削除しようとし続け、
[ZK:はlocalhost:2181(CONNECTED)13]、LS / ZK-試験 [] [ZK:はlocalhost:2181(CONNECTED)14] /削除ZK-試験 [ZK:はlocalhost:2181(CONNECTED)15] LS / []
正常に削除されました。
参考文献:
「分散コンセンサスをZooKeeperのためにパクシから原則と実践」
まず、設置条件
飼育係をインストールするには、まず、LinuxでJDKをインストールする必要があります。インストール手順を参照してください。
https://www.cnblogs.com/expiator/p/9987351.html
第二に、アーカイブの飼育係をダウンロードし、解凍します
1.まず、入力は/ usr / local /ディレクトリには、他のディレクトリを指定できます。
[ルート@ localhostの/]#のCDは/ usr / local
2.飼育係のインストールパッケージは、公式ウェブサイトからダウンロードすることができます。
また、後でこのアドレスダウンロードすることができます http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gzを
リンクが機能しない場合は、最初に開い http://mirror.bit.edu.cn/apache/zookeeperを して、バージョンを選択します。
このディレクトリの飼育係でインストールパッケージをダウンロード:
[ルート@ localhostのローカル]#wgetのhttp://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
3.エキス:
飼育係-3.4.13.tar.gz -zxvf [ルート@ localhostのローカル]#タール
第三に、設定ファイルを編集
1. confディレクトリに移動します:
[ルート@ localhostのローカル]#のCDの飼育係-3.4.13 / confに
zoo_sample.cfgのzoo.cfg 2.コピーし、このファイルを(ファイル名でなければなりません)
[ルート@ localhostのconfに]#cpはzoo_sample.cfg zoo.cfg
3.編集のために行くzoo.cfgファイル
[ルート@ localhostのCONF]#のVimのzoo.cfg
4.私が編集モードに入るため、以下のように変更:
DATADIR =を/ tmp /飼育係/データ dataLogDir =を/ tmp /飼育係/ログ
注:クラスタを設定したい場合は、下記のCLIENTPORTにサーバーのIPを追加してください。として
server.1 = 192.168.180.132:2888:3888
server.2 = 192.168.180.133:2888:3888
server.3 = 192.168.180.134:2888:3888は、
コンピュータ・メモリが比較的小さい場合には、飼育係は、擬似クラスタに提供することができます。つまり、同じIPを使用して、すべてのサーバーですが、別のポートを使用しています。
5. tmpディレクトリにディレクトリを作成します。
[ルート@のローカルホストCONF]#のMKDIR / TMP /飼育係
[ルート@のローカルホストCONF]#のMKDIR / TMP /飼育係/データ
[ルート@ localhostのconfに]#のMKDIRを/ tmp /飼育係/ログ
6.クラスタを構成している場合、あなたはまたDATADIRたパスの前にMYID設定ファイルを追加する必要があります
[ルート@ localhostのconfに]#のCDを/ tmp /飼育係/データ
[ルート@ localhostのデータ]#タッチMYID
[ルート@ localhostのデータ]#のVimのMYID
、データディレクトリ内のファイル、「MYID」という名前のファイルを作成し、「MYID」ファイルを編集し、マシンの対応するIPに対応する番号を入力します。
192.168.180.132のように、「MYID」ファイルの内容が1です。192.168.180.133では、コンテンツが2です。
第四に、環境変数を設定します
1.次のように仕上げるために上記の操作の後、私たちは、環境変数を設定する必要があり、コマンド設定環境変数:
[ルート@ localhostの飼育係-3.4.13]#輸出ZOOKEEPER_INSTALLは=は/ usr / local /飼育係-3.4.13 / [ルート@ localhostの飼育係-3.4.13]#輸出PATH = $ PATHに:$ ZOOKEEPER_INSTALL / binに
第五に、飼育係を開始
1. binディレクトリに移動し、zookeep開始。それはbinディレクトリで実行されていない場合は、飼育係を起動したときに、文句を言うでしょう:bashの:./zkServer.sh:そのようなファイルやディレクトリはありませんが
注意:. ./ZkServer.sh早いスタートが無視することはできません。
/usr/local/zookeeper-3.4.13/binます。#cd [localhostをローカル@ルート] [ルート@ localhostのビン]#の./zkServer.sh開始
2.次のように成功した結果が起動します。
ZooKeeperのJMXはデフォルトで有効に 設定を使用する:/usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg 飼育係を開始しています... STARTED
サーバ側は、開始3.zookeeper後、またあなたは、飼育係のクライアントを起動する必要があります。
[ルート@ localhostのビン]#./zkCli.sh
次のコマンドを使用して別のホスト・ノードの複数の接続、場合:
./zkCli.sh -server 192.168.180.132:2888
次のように起動し、正常な効果があります。
ローカルホストへの接続:2181
..........
..........
..........
ZooKeeperのへようこそ! 2018年10月25日21:04:54407 [MYID:] - INFO [メインSendThread(ローカルホスト:2181):ClientCnxn $ SendThread @ 1029] -サーバーはlocalhost / 0へのソケット接続を開く:0:0:0:0: 0:0 2181:1。SASLを使用して認証しようとはしません(不明なエラー) JLineサポートが有効になっている INFO [メインSendThread(ローカルホスト:2181):ClientCnxn $ SendThread @ 879] - -ソケット接続04:::54471 [MYID] 2018年10月25日21 0:0:0:0:0:0:1:2181、セッション開始/ 0をlocalhostに設立 [ZK:localhostを:2181(接続)0] 2018年10月25日21:04:54501 [MYID:] - INFO [メインSendThread(localhostを:2181 ):ClientCnxn $ SendThread 1303] @ -サーバーのローカルホスト上のセッションの確立を完全/ 0:0:0:0:0:0:0:1:2181、セッションID = 0x10000712e6f0000、交渉されたタイムアウト= 30000 WATCHER :: WatchedEvent状態:SyncConnectedタイプ:なしパス:ヌル
4.ステータスを表示:
[ルート@ localhostのビン]#の./zkServer.shステータス はデフォルトで有効になってZooKeeperのJMX /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg:設定使用 モード:スタンドアロン
私は解決するためにどのような問題が発生しましたか?
飼育係のエラーログはzookeeper.outに記録されます。
どのzkServer.shがディレクトリに書き込まれますコマンド、zookeeper.outを起動し実行した後、ディレクトリ内に現在あります。
Vimのzookeeper.outはエラーメッセージを表示することができます。そして、検索ソリューション。
六、飼育係の使用
./zkCli.shクライアントから入力した後、あなたは飼育係を操作するコマンドを使用することができます。
1.ノードを作成します。
createコマンドを使用して、あなたは、飼育係のノードを作成することができます。
[-S] [-e]パスデータACLを作成
前記シーケンスノード-sは、-e一時的なノードを表します。デフォルトでは、永続的なノードを作成します。
パスは、データは、ノードデータは、ACLは、アクセス制御に使用されるパスのノードです。
次のように:
呼ばれる/ ZK-テストノードを作成し、内容が「123」であります
[ZK:はlocalhost:2181(CONNECTED)0] / ZK-テストを作成する123
/ ZK-テストを作成
/ ZK-テスト子ノードブックを作成すると、内容が「233」であります
[ZK:はlocalhost:2181(CONNECTED)7]を作成/ ZK-テスト/ブック233 / ZK-テスト/ブック作成
2.チェックノードコンテンツ
getコマンドを使って、あなたがコンテンツを取得し、情報の飼育係、指定されたノードの属性することができます。
次のように:
[ZK:はlocalhost:2181(CONNECTED)1] GET / ZK-テスト
123 cZxid = 0x3a のctime =日11月11日21時50分44秒CST 2018 mZxid = 0x3a のmtime =日11月11日21時50分44秒CST 2018 pZxid = 0x3a cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0の データ長= 3 するnumChildren = 0
3.子ノードを確認
指定されたノードのすべての子ノードを参照するためにlsコマンドを使用します
すべての子ノードのルートディレクトリを表示します。
[ZK:はlocalhost:2181(CONNECTED)2] LS /
[ZK-試験、飼育係]
子ノードのZK-テストノードを確認します。
[ZK:はlocalhost:2181(CONNECTED)3]、LS / ZK-試験
[書籍]
4.更新ノードコンテンツ
ノードの内容を更新するには、setコマンドを使用します。形式は次のとおりです。
設定されたパスデータ
これでは、データは新しいコンテンツを更新します。
[ZK:はlocalhost:2181(CONNECTED)4] / ZK-テスト設定456 cZxid = 0x3a のctime =日11月11日21時50分44秒CST 2018 mZxid = 0x3b のmtime =日11月11日22時05分20秒CST 2018 pZxid = 0x3a cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0の データ長= 3 するnumChildren = 0
出力情報を見つけることができるでデータノードが変更に操作結果のちょうど更新されたバージョンが行われているため、dataVersion値は、1に0から増加しました。
6.ノードの削除
次のように、ノードを削除するには、deleteコマンドを使用します。
[ZK:はlocalhost:2181(CONNECTED)11] /削除ZK-テスト
ノードでない空:/ ZK-試験
ノードの子ノードがある場合に見つけることができ、ノードを削除することはできません。
次のように、子ノード/ ZK-テスト/本を削除します:
[ZK:はlocalhost:2181(CONNECTED)12] / ZK-テスト/ブック削除 WATCHERを:: WatchedEvent状態:SyncConnectedタイプ:NodeDeletedパス:/ ZK-テスト/本
ウォッチャーは、子ノードの変更が通知されます場合は、飼育係にノードを監視します。プロンプト子ノード/ ZK-テスト/本は正常に削除されました。
ノード/ ZK-テストを削除しようとし続け、
[ZK:はlocalhost:2181(CONNECTED)13]、LS / ZK-試験 [] [ZK:はlocalhost:2181(CONNECTED)14] /削除ZK-試験 [ZK:はlocalhost:2181(CONNECTED)15] LS / []
正常に削除されました。
参考文献:
「分散コンセンサスをZooKeeperのためにパクシから原則と実践」