zookeeper 启动脚本

start

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env bash

# @Author: YL
# @Date: 2017-06-28 10:23:20
# @Last Modified by: YL
# @Last Modified time: 2017-11-01 09:37:41
# 此文件放到 zookeeper 的 bin 目录下

cd `dirname $0`
NODE_BIN_DIR=`pwd`
NODE_LIB_DIR=$NODE_BIN_DIR/../lib/
cd ..
NODE_HOME=`pwd`

# date pattern
DATE_PATTERN="[$(date '+%Y-%m-%d %H:%M:%S')]"

# mkdir logs dir
NODE_DATA_LOG_DIR=`sed '/dataLogDir/!d;s/.*=//' conf/zoo.cfg | tr -d '\r'`
NODE_LOGS_DIR=""
if [ -n "$NODE_DATA_LOG_DIR" ]; then
NODE_LOGS_DIR=$NODE_DATA_LOG_DIR
else
NODE_LOGS_DIR=$NODE_HOME/logs
fi
if [ ! -d $NODE_LOGS_DIR ]; then
mkdir $NODE_LOGS_DIR
fi
STDOUT_FILE=$NODE_LOGS_DIR/stdout.log

echo "$DATE_PATTERN NODE_BIN_DIR: $NODE_BIN_DIR" | tee -a $STDOUT_FILE

# pid
NODE_PID=`ps -ef | grep "$NODE_LIB_DIR" | grep -v grep | awk '{print $2}'`
if [ -n "$NODE_PID" ]; then
echo "$DATE_PATTERN ERROR: The $NODE_LIB_DIR already started! pid: $NODE_PID" | tee -a $STDOUT_FILE
exit 1
fi

# port
NODE_PORT=`sed '/clientPort/!d;s/.*=//' conf/zoo.cfg | tr -d '\r'`
if [ -n "$NODE_PORT" ]; then
NODE_PORT_COUNT=`netstat -tln | grep $NODE_PORT | wc -l`
if [ $NODE_PORT_COUNT -gt 0 ]; then
echo "$DATE_PATTERN ERROR: The $NODE_LIB_DIR port $NODE_PORT already used!" | tee -a $STDOUT_FILE
exit 1
fi
fi

# starting
cd $NODE_BIN_DIR
./zkServer.sh start

NODE_PID=`ps -ef | grep "$NODE_LIB_DIR" | grep -v grep | awk '{print $2}'`
echo "$DATE_PATTERN The $NODE_LIB_DIR started OK! pid: $NODE_PID" | tee -a $STDOUT_FILE
  • 本文作者: forever杨
  • 本文链接: https://blog.yl-online.top/posts/af01b9a2.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。如果文章内容对你有用,请记录到你的笔记中。本博客站点随时会停止服务,请不要收藏、转载!