system sh/stop_dnodes.sh system sh/ip.sh -i 1 -s up system sh/ip.sh -i 2 -s up system sh/ip.sh -i 3 -s up system sh/ip.sh -i 4 -s up system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4 system sh/cfg.sh -n dnode1 -c balanceMonitorInterval -v 1 system sh/cfg.sh -n dnode2 -c balanceMonitorInterval -v 1 system sh/cfg.sh -n dnode3 -c balanceMonitorInterval -v 1 system sh/cfg.sh -n dnode4 -c balanceMonitorInterval -v 1 system sh/cfg.sh -n dnode1 -c balanceStartInterval -v 10 system sh/cfg.sh -n dnode2 -c balanceStartInterval -v 10 system sh/cfg.sh -n dnode3 -c balanceStartInterval -v 10 system sh/cfg.sh -n dnode4 -c balanceStartInterval -v 10 system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode1 -c commitLog -v 1 system sh/cfg.sh -n dnode2 -c commitLog -v 1 system sh/cfg.sh -n dnode3 -c commitLog -v 1 system sh/cfg.sh -n dnode4 -c commitLog -v 1 print ========== step1 system sh/exec.sh -n dnode1 -s start sql connect sql create dnode 192.168.0.2 sql create dnode 192.168.0.3 system sh/exec.sh -n dnode2 -s start system sh/exec.sh -n dnode3 -s start sleep 3000 sql create database d1 replica 3 sql create table d1.t1 (t timestamp, i int) sql insert into d1.t1 values(now+1s, 15) sql insert into d1.t1 values(now+2s, 14) sql insert into d1.t1 values(now+2s, 13) sql insert into d1.t1 values(now+3s, 12) sql insert into d1.t1 values(now+4s, 11) print ========== step2 sql drop dnode 192.168.0.2 system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 3000 sql alter dnode 192.168.0.2 unremove system sh/exec.sh -n dnode2 -s start sql show dnodes print 192.168.0.1 freeVnodes $data3_192.168.0.1 print 192.168.0.2 freeVnodes $data3_192.168.0.2 print 192.168.0.3 freeVnodes $data3_192.168.0.3 if $data3_192.168.0.1 != 3 then return -1 endi if $data3_192.168.0.2 != 3 then return endi if $data3_192.168.0.3 != 3 then return -1 endi print ========== step3 sql drop dnode 192.168.0.2 system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 3000 sql alter dnode 192.168.0.2 unremove system sh/exec.sh -n dnode2 -s start sql show dnodes print 192.168.0.1 freeVnodes $data3_192.168.0.1 print 192.168.0.2 freeVnodes $data3_192.168.0.2 print 192.168.0.3 freeVnodes $data3_192.168.0.3 if $data3_192.168.0.1 != 3 then return -1 endi if $data3_192.168.0.2 != 3 then return -1 endi if $data3_192.168.0.3 != 3 then return -1 endi print ========== step4 sql create dnode 192.168.0.4 sql drop dnode 192.168.0.2 sleep 5000 sql show dnodes $dnode1Vnodes = $data2_192.168.0.1 print 192.168.0.1 $dnode1Vnodes $dnode2Vnodes = $data2_192.168.0.2 print 192.168.0.2 $dnode2Vnodes $dnode3Vnodes = $data2_192.168.0.3 print 192.168.0.3 $dnode3Vnodes sql show dnodes print 192.168.0.1 freeVnodes $data3_192.168.0.1 print 192.168.0.2 freeVnodes $data3_192.168.0.2 print 192.168.0.3 freeVnodes $data3_192.168.0.3 if $data3_192.168.0.1 != 3 then return -1 endi if $data3_192.168.0.2 != 3 then return -1 endi if $data3_192.168.0.3 != 3 then return -1 endi print ========== step5 system sh/exec.sh -n dnode4 -s start sleep 3000 $x = 0 show5: $x = $x + 1 sleep 5000 if $x == 20 then return -1 endi sql show dnodes print 192.168.0.1 freeVnodes $data3_192.168.0.1 print 192.168.0.2 freeVnodes $data3_192.168.0.2 print 192.168.0.3 freeVnodes $data3_192.168.0.3 print 192.168.0.4 freeVnodes $data3_192.168.0.4 if $data3_192.168.0.1 != 3 then goto show5 endi if $data3_192.168.0.2 != null then goto show5 endi if $data3_192.168.0.3 != 3 then goto show5 endi if $data3_192.168.0.4 != 3 then goto show5 endi