インストール
brew install zookeeper
zoo.cfgを作ってroot権限で起動
cd /usr/local/etc/zookeeper/
cp zoo_sample.cfg zoo.cfg
sudo /usr/local/bin/zkServer start
ログにエラーが出てるが原因はわからない。
$ cat /usr/local/var/log/zookeeper/zookeeper.log
2013-10-22 01:54:31 QuorumPeerMain [ERROR] Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /usr/local/etc/zookeeper/zoo.cfg
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:121)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.IllegalArgumentException: /usr/local/etc/zookeeper/zoo.cfg file is missing
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:105)
とりあえずクライアントで接続してみる
$ /usr/local/bin/zkCli -server 127.0.0.1:2181
Connecting to 127.0.0.1:2181
Welcome to ZooKeeper!
JLine support is enabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2181(CONNECTED) 0]
ひととおりチュートリアル通りに操作する
ZooKeeper スタートガイド
蛇足
lsで取れるznodeは直下までのようす。
[zk: 127.0.0.1:2181(CONNECTED) 4] create /zk_test mydata
Created /zk_test
[zk: 127.0.0.1:2181(CONNECTED) 15] create /zk_test/znode1 1
Created /zk_test/znode1
[zk: 127.0.0.1:2181(CONNECTED) 16] create /zk_test/znode2 2
Created /zk_test/znode2
[zk: 127.0.0.1:2181(CONNECTED) 17] ls /zk_test
[znode2, znode1]
[zk: 127.0.0.1:2181(CONNECTED) 18] ls /
[zookeeper, zk_test]
/zk_test/z の変更をウォッチ
[zk: 127.0.0.1:2181(CONNECTED) 4] ls /zk_test/z true
/zk_test/z の子供の変更をwatch
[zk: 127.0.0.1:2181(CONNECTED) 4] ls /zk_test/z true
孫以降の変更はウォッチできない。
蛇足2
なぜかtmux上だとZookeeperが起動しなくなり
osx - Zookeeper server starts, but does not stay started - Stack Overflow
と同様の状態になる。なぜかはわからない。