ZooKeeper@Docker 3.4.11

表題がしばらく前にリリースされていたと記憶しているが、2017/11/09のようだ。もうずっとまともに触れていないのだが、ふとDockerHubを見た時に”3.4.11“のタグが付いていたのでインストールすることにした。

■ 環境

  • Apache ZooKeeper 3.4.11
  • Docker 17.09.1-ce
  • Mac OSX El Capitan

■ ZooKeeper

library/zookeeper – Docker Hub
https://hub.docker.com/_/zookeeper/

コンテナイメージを取得する。タグは明示的に付けることにしている。

$ docker pull zookeeper:3.4.11

コンテナはこんな感じになった。

$ docker images
  :
zookeeper      3.4.11         d44757f71e4f        13 days ago         146MB
zookeeper      latest         d44757f71e4f        13 days ago         146MB
  :

シングルノードで起動して、いつものように4文字コマンドを叩いてみる。

$ docker run -ti --rm -p 2181:2181 --name zookeeper zookeeper

別のターミナルで下記を実行する。

$ echo "srvr" | nc localhost 2181
Zookeeper version: 3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4
$

さて、どんなアップデートがあったのだろうか。

■ Homebrew

ちなみにHomebrewではまだ”3.4.10“のままなんだよね。

$ brew info zookeeper
zookeeper: stable 3.4.10 (bottled), HEAD
  :

以上。

■ 関連

ZooKeeper@Docker 3.4.10

ZooKeeper 3.4.10 on Homebrew

表題がMacに来ていたので。

■ 環境

  • Apache ZooKeeper 3.4.10
  • Homebrew
  • Mac OSX El Capitan

■ 3.4.10

Apache ZooKeeperの”3.4.10“がリリースされたのはしばらく前であった記憶があるが、Homebrewになかなか来ていなかったので忘れていた。久しぶりに確認したところ対応されていたのでインストール。

$ brew update
  :
$ brew info zookeeper
zookeeper: stable 3.4.10 (bottled), HEAD
Centralized server for distributed coordination of services
https://zookeeper.apache.org/
/usr/local/Cellar/zookeeper/3.4.8 (238 files, 17.6MB)
  Poured from bottle on 2016-03-18 at 13:06:29
/usr/local/Cellar/zookeeper/3.4.9 (242 files, 18.2MB) *
  Poured from bottle on 2017-06-30 at 14:21:47
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/zookeeper.rb
==> Requirements
Optional: python ✔
==> Options
--with-perl
    Build Perl bindings
--with-python
    Build with python support
--HEAD
    Install HEAD version
==> Caveats
To have launchd start zookeeper now and restart at login:
  brew services start zookeeper
Or, if you don't want/need a background service you can just run:
  zkServer start
$

早速”upgrade“する。

$ brew upgrade zookeeper

■ zkServer

起動してversionを確認してみる。

$ zkServer status
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Error contacting service. It is probably not running.
$
$ zkServer start
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Starting zookeeper ... STARTED
$

これに対して4文字コマンドで確認する。

$ echo srvr | nc localhost 2181
Zookeeper version: 3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x1bb
Mode: standalone
Node count: 17
$

3.4.10“という文字列が見えた。

以上。

■ 関連

ZooKeeper@Docker 3.4.10

ZooKeeper 3.4.10

ZooKeeper 3.4.10

表題がリリースされているようだ。

■ 環境

  • ZooKeeper 3.4.10

■ release

Apache ZooKeeper – Release
http://zookeeper.apache.org/releases.html

まだHomebrewやDockerでは対応されていない。

$ brew info zookeeper
zookeeper: stable 3.4.9 (bottled), HEAD
Centralized server for distributed coordination of services
https://zookeeper.apache.org/
/usr/local/Cellar/zookeeper/3.4.9 (238 files, 18.2MB) *
  Poured from bottle on 2016-11-09 at 16:19:12
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/zookeeper.rb
==> Requirements
Optional: python ✔
==> Options
--with-perl
     Build Perl bindings
--with-python
     Build with python support
--HEAD
     Install HEAD version
==> Caveats
To have launchd start zookeeper now and restart at login:
  brew services start zookeeper
Or, if you don't want/need a background service you can just run:
  zkServer start
$

続いてDockerHubで見てみる。

library/zookeeper – Docker Hub
https://hub.docker.com/_/zookeeper/

Tags“を見ても、まだ”3.4.9“が最新の状態である。ソースコンパイルするのも良いのだが、さっと試すにはやっぱりこれらのどっちかがあると楽なんだよな。というわけで少し待ってみる。

以上。

■ 関連

ZooKeeper 3.4.10 on Homebrew

ZooKeeper@Dockerにローカルから接続

表題の通り。

■ 環境

  • Apache ZooKeeper 3.4.9
  • Docker for Mac 1.12.1
  • Mac OSX El Capitan

■ ZooKeeper

先日あげたシングルノードのZooKeeperは、`zkCli`で接続する為にもコンテナを起動させる必要があった。今回はローカルで起動しているのと同じように、ローカルの`zkCli`でアクセスできるように設定を変えて起動してみる。

$ docker run -d --name zk -p 2181:2181 zookeeper

これで起動した。ちなみにどのポートを開いているか(?)は下記コマンドで取得できるようである。

$ docker port zk
2181/tcp -> 0.0.0.0:2181
$

ではローカルの`zkCli`で接続してみる。

$ zkCli
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is enabled
[zk: localhost:2181(CONNECTING) 0]
WATCHER::

WatchedEvent state:SyncConnected type:None path:null

[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1]

接続できた。ということは4文字コマンドもいけるはずだ。

$ echo srvr | nc localhost 2181
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Latency min/avg/max: 0/33/162
Received: 6
Sent: 5
Connections: 1
Outstanding: 0
Zxid: 0x1
Mode: standalone
Node count: 4
$

楽しい。

以上。

■ 関連

ZooKeeper@Docker – シングルノード

表題の環境を試す。

■ 環境

  • ZooKeeper 3.4.9
  • Docker for Mac 1.12.1
  • Mac OSX ElCapitan

■ run

ZooKeeperをとりあえずシングルノードで稼働させてみる。

$ docker run -d --name zk zookeeper
9d2f562d9475d830fb4e844dcff69e338c7fc450666919ffb6e50f4de22c561f
$

アクセスするには`zkCli`用のコンテナを起動する。

$ docker run -ti --rm --link zk:zk zookeeper zkCli.sh -server zk
Connecting to zk
2016-10-04 19:25:37,817 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
2016-10-04 19:25:37,820 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=9ed51322280c
2016-10-04 19:25:37,820 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_92-internal
2016-10-04 19:25:37,822 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2016-10-04 19:25:37,822 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/lib/jvm/java-1.8-openjdk/jre
2016-10-04 19:25:37,822 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/zookeeper-3.4.9/bin/../build/classes:/zookeeper-3.4.9/bin/../build/lib/*.jar:/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/conf:
2016-10-04 19:25:37,822 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2016-10-04 19:25:37,823 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2016-10-04 19:25:37,823 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=
2016-10-04 19:25:37,823 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2016-10-04 19:25:37,823 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2016-10-04 19:25:37,824 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=4.4.20-moby
2016-10-04 19:25:37,824 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2016-10-04 19:25:37,824 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2016-10-04 19:25:37,824 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/zookeeper-3.4.9
2016-10-04 19:25:37,825 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=zk sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@3eb07fd3
2016-10-04 19:25:37,845 [myid:] - INFO  [main-SendThread(zk:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server zk/172.17.0.2:2181. Will not attempt to authenticate using SASL (unknown error)
Welcome to ZooKeeper!
JLine support is enabled
2016-10-04 19:25:37,915 [myid:] - INFO  [main-SendThread(zk:2181):ClientCnxn$SendThread@876] - Socket connection established to zk/172.17.0.2:2181, initiating session
2016-10-04 19:25:37,958 [myid:] - INFO  [main-SendThread(zk:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server zk/172.17.0.2:2181, sessionid = 0x1578ab473ab0001, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null

[zk: zk(CONNECTED) 0]

なるほど。

先日”latest“のタグでDockerコンテナを`pull`しているが、現状の最新版である”3.4.9“で動いている様子。JavaはOpenJDKの1.8であるようだ。

以上。

■ 関連