Apache ZooKeeperにおいて表題の通り。先日のエントリの一部に既に書いているが、1エントリとして残しておく。
■ 環境
- ZooKeeper 3.4.5, 3.4.6
■ ZooKeeper
稼働しているZooKeeperは、Dockerで起動させている。先日の通り”jplock/zookeeper“の”latest“と”3.4.6“である。
$ docker run -d --name zookeeper-3.4.5 -p 2181:2181 jplock/zookeeper
$ docker run -d --name zookeeper-3.4.6 -p 2182:2181 jplock/zookeeper:3.4.6
Dockerホストの”2181“ポートを”3.4.5“に、”2182“ポートを”3.4.6“で稼働しているZooKeeperのコンテナにforwardしている。
■ version確認
ZooKeeperが稼働している対象のサーバにログイン可能であれば、プロセス等からでも十分確認できるはずだ。しかし、対象のサーバのログインできない・クライアントでのアクセスができないという場合には、ZooKeeperの4文字コマンドを利用すると得ることができる。
ZooKeeper Commands: The Four Letter Words
http://zookeeper.apache.org/doc/r3.4.6/zookeeperAdmin.html#sc_zkCommands
いくつかのコマンドでversionの表示を含む出力を得ることができるのだが、今回は`envi`の出力結果を確認する。ZooKeeperサーバの環境変数等が取得できるので妥当であろう。
コマンドは下記の通り。4文字を`nc`でZooKeeperサーバのClientPortに送る。
$ echo [command] | nc [IP] [ort]
ZooKeeper-3.4.5への実行例は下記の通り。
$ echo envi | nc 192.168.99.100 2181
Environment:
zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
host.name=6a41317bfd37
java.version=1.7.0_03
:
$
ZooKeeper-3.4.6への実行例は下記の通り。
$ echo envi | nc 192.168.99.100 2182
Environment:
zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
host.name=41fdd2fe206b
java.version=1.7.0_65
:
$
それぞれ”zookeeper.version“で得られていることがわかるであろう。
以上。