設定ファイルを指定してzookeeperを起動

結論からいうと、

$ zkServer.sh start /path/to/zoo.cnf

で設定ファイル/path/to/zoo.cnfを指定してzookeeperを起動できる。

zkServer.shの61行目あたりを見ると以下のようになっていて2つ目の引数を変数に設定している。

if [ "x$2" != "x" ]
then
    ZOOCFG="$ZOOCFGDIR/$2"
fi

# if we give a more complicated path to the config, don't screw around in $ZOOCFGDIR
if [ "x$(dirname "$ZOOCFG")" != "x$ZOOCFGDIR" ]
then
    ZOOCFG="$2"
fi

でもヘルプを見ても

Usage: zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

としか書いてないので微妙すぎる。

ちなみに、僕が確認したのはv3.4.6のコードで、GitHub上のコードを見るともうちょっと後のバージョンでは--configオプションで設定ファイルを持つディレクトリを指定できるようになるみたいだ。
ZOOKEEPER-1335. Add support for --config to zkEnv.sh to specify a con…