安装版本:zookeeper-3.4.10


问题描述:


ZooKeeper在启动时会将zookeeper.out输出到当前目录,不仅不友好,有时候可能会因为目录权限问题引发一些不必要的麻烦。


脚本分析:


通过查看zkServer.sh脚本可以发现,脚本中没有定义ZOO_LOG_DIR变量。


 


将以下这段进行修改




if [ ! -w "$ZOO_LOG_DIR" ] ; then  
mkdir -p "$ZOO_LOG_DIR"
fi


 

修改为如下:



ZOO_LOG_DIR="$($GREP "^[[:space:]]*dataLogDir" "$ZOOCFG" | sed -e 's/.*=//')"
if [ ! -w "$ZOO_LOG_DIR" ] ; then
mkdir -p "$ZOO_LOG_DIR"
fi


就是在启动的时候复制了ZOO_LOG_DIR这个变量了