インストールliunxの飼育係(RPM)とLinuxインストールのZooKeeperを使用して

飼育係の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のためにパクシから原則と実践」

https://blog.csdn.net/zknxx/article/details/52601554

https://blog.csdn.net/21aspnet/article/details/18990891

 
 

まず、設置条件

飼育係をインストールするには、まず、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のためにパクシから原則と実践」

https://blog.csdn.net/zknxx/article/details/52601554

https://blog.csdn.net/21aspnet/article/details/18990891

おすすめ

転載: www.cnblogs.com/xuningchuanblogs/p/11566240.html