@@ -6,16 +6,24 @@ WORK_DIR=`pwd`
6
6
NODE_NUM=3
7
7
CLUSTER_ID=2
8
8
ZKS_DAEMON_IMAGE=' zksdaemon:latest'
9
- ZKS_IMAGE=' zookeeper:3.6.3 '
9
+ ZKS_IMAGE=' zookeeper:latest '
10
10
IS_CLEAR=0
11
+ CPORT=' 9639'
12
+ QUORUM_PORT=' 2888'
13
+ ELECTION_PORT=' 3888'
14
+ DAEMON_OFF=0
11
15
12
- while getopts " p:n:d:z:i:hc " arg
16
+ while getopts " p:n:d:z:i:hco " arg
13
17
do
14
18
case $arg in
15
19
c)
16
20
IS_CLEAR=1
17
21
echo " Cleaning cluster...."
18
22
;;
23
+ 0)
24
+ DAEMON_OFF=1
25
+ echo " DAEMON_OFF...."
26
+ ;;
19
27
p)
20
28
WORK_DIR=$OPTARG
21
29
;;
@@ -79,18 +87,20 @@ metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetr
79
87
metricsProvider.httpPort=7000
80
88
metricsProvider.exportJvmInfo=true
81
89
[zookeeper]=
90
+ cnxTimeout=200
82
91
tickTime=2000
83
92
dataDir=/data
84
93
dataLogDir=/datalog
85
94
reconfigEnabled=true
86
95
preAllocSize=16384
87
- standaloneEnabled=false" > $zksDir /conf/zoo.cfg
96
+ standaloneEnabled=false
97
+ dynamicConfigFile=/conf/zoo.cfg.dynamic" > $zksDir /conf/zoo.cfg
88
98
# 这里可以考虑少于等于3个节点时,都是participant。
89
99
if [ -z $cluster ]; then
90
- echo -e " server.$myid =$myip :2888:3888:participant ;0.0.0.0:$CPORT " >> $zksDir /conf/zoo.cfg
100
+ echo -e " server.$myid =$myip :$QUORUM_PORT : $ELECTION_PORT ;0.0.0.0:$CPORT " > $zksDir /conf/zoo.cfg.dynamic
91
101
else
92
- echo -e " $cluster " >> $zksDir /conf/zoo.cfg
93
- echo -e " server.$myid =$myip :2888:3888:participant ;0.0.0.0:$CPORT " >> $zksDir /conf/zoo.cfg
102
+ echo -e " $cluster " > $zksDir /conf/zoo.cfg.dynamic
103
+ echo -e " server.$myid =$myip :$QUORUM_PORT : $ELECTION_PORT ;0.0.0.0:$CPORT " >> $zksDir /conf/zoo.cfg.dynamic
94
104
fi
95
105
96
106
echo " export ZK_SERVER_HEAP=2048
@@ -208,7 +218,7 @@ function add_zks_daemon(){
208
218
fi
209
219
docker container stop $CLUSTER_NAME -$myid -daemon > /dev/null 2>&1
210
220
docker rm $CLUSTER_NAME -$myid -daemon> /dev/null 2>&1
211
- cmd=" docker run -dit --privileged=true --name=$CLUSTER_NAME -$myid -daemon --network=host $ZKS_DAEMON_IMAGE $myid $myhost "
221
+ cmd=" docker run -dit --privileged=true --name=$CLUSTER_NAME -$myid -daemon --network=host $ZKS_DAEMON_IMAGE -i $myid -h $myhost "
212
222
$cmd
213
223
if [ $? != 0 ]; then
214
224
echo " run daemon docker fail, [$cmd ]"
@@ -232,7 +242,7 @@ function clear_cluster()
232
242
CLUSTER=" zks"
233
243
CLUSTER_NAME=" $CLUSTER .$CLUSTER_ID "
234
244
NETWORK_ADDR=" 172.22.$CLUSTER_ID .0"
235
- CPORT= ' 9639 '
245
+
236
246
237
247
echo " ### create zookeeper cluster ###"
238
248
304
314
echo " [add_zks_node $g_myid $node_ip $server_info ] fail..."
305
315
exit 1
306
316
fi
307
-
308
- add_zks_daemon $g_myid $node_ip :$CPORT
309
- if [ $? != 0 ]; then
310
- echo " [add_zks_daemon $g_myid $node_ip :$CPORT ] fail..."
311
- exit 1
317
+ if [ $DAEMON_OFF == 0 ]; then
318
+ add_zks_daemon $g_myid $node_ip :$CPORT
319
+ if [ $? != 0 ]; then
320
+ echo " [add_zks_daemon $g_myid $node_ip :$CPORT ] fail..."
321
+ exit 1
322
+ fi
312
323
fi
313
-
314
324
# server_info=`echo conf|nc $node_ip $CPORT|grep 'server\.'|grep "$CPORT"`
315
- server_info=" $server_info " " server.$g_myid =$node_ip :2888:3888:participant ;0.0.0.0:$CPORT \n"
325
+ server_info=" $server_info " " server.$g_myid =$node_ip :$QUORUM_PORT : $ELECTION_PORT ;0.0.0.0:$CPORT \n"
316
326
echo -e " update cluster: $server_info "
317
327
318
328
let g_myid++
0 commit comments