system sh/stop_dnodes.sh system sh/deploy.sh -n dnode1 -i 1 system sh/deploy.sh -n dnode2 -i 2 system sh/deploy.sh -n dnode3 -i 3 system sh/deploy.sh -n dnode4 -i 4 system sh/cfg.sh -n dnode1 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode2 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode3 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode4 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode1 -c walLevel -v 2 system sh/cfg.sh -n dnode2 -c walLevel -v 2 system sh/cfg.sh -n dnode3 -c walLevel -v 2 system sh/cfg.sh -n dnode4 -c walLevel -v 2 system sh/cfg.sh -n dnode1 -c balanceInterval -v 10 system sh/cfg.sh -n dnode2 -c balanceInterval -v 10 system sh/cfg.sh -n dnode3 -c balanceInterval -v 10 system sh/cfg.sh -n dnode4 -c balanceInterval -v 10 system sh/cfg.sh -n dnode1 -c role -v 1 system sh/cfg.sh -n dnode2 -c role -v 2 system sh/cfg.sh -n dnode3 -c role -v 2 system sh/cfg.sh -n dnode4 -c role -v 2 $totalTableNum = 10 system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v $totalTableNum system sh/cfg.sh -n dnode2 -c maxtablesPerVnode -v $totalTableNum system sh/cfg.sh -n dnode3 -c maxtablesPerVnode -v $totalTableNum system sh/cfg.sh -n dnode4 -c maxtablesPerVnode -v $totalTableNum system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1 system sh/cfg.sh -n dnode2 -c maxVgroupsPerDb -v 1 system sh/cfg.sh -n dnode3 -c maxVgroupsPerDb -v 1 system sh/cfg.sh -n dnode4 -c maxVgroupsPerDb -v 1 system sh/cfg.sh -n dnode1 -c arbitrator -v $arbitrator system sh/cfg.sh -n dnode2 -c arbitrator -v $arbitrator system sh/cfg.sh -n dnode3 -c arbitrator -v $arbitrator system sh/cfg.sh -n dnode4 -c arbitrator -v $arbitrator print ============== step0: start tarbitrator system sh/exec_tarbitrator.sh -s start print ============== step1: start dnode1, only deploy mnode system sh/exec.sh -n dnode1 -s start sql connect print ============== step2: start dnode2 and add into cluster , then create database with replica 1, and create table, insert data system sh/exec.sh -n dnode2 -s start sql create dnode $hostname2 $x = 0 step1: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes print dnode1 $data4_1 print dnode2 $data4_2 if $data4_1 != ready then goto step1 endi if $data4_2 != ready then goto step1 endi $db = db sql create database $db replica 1 sql use $db # create table , insert data $stb = stb sql create table $stb (ts timestamp, c1 int) tags(t1 int) $rowNum = 100 $tblNum = $totalTableNum $totalRows = 0 $tsStart = 1420041600000 $i = 0 while $i < $tblNum $tb = tb . $i sql create table $tb using $stb tags( $i ) $x = 0 while $x < $rowNum $ts = $tsStart + $x sql insert into $tb values ( $ts + 0a , $x ) ( $ts + 1a , $x ) ( $ts + 2a , $x ) ( $ts + 3a , $x ) ( $ts + 4a , $x ) ( $ts + 5a , $x ) ( $ts + 6a , $x ) ( $ts + 7a , $x ) ( $ts + 8a , $x ) ( $ts + 9a , $x ) ( $ts + 10a , $x ) ( $ts + 11a , $x ) ( $ts + 12a , $x ) ( $ts + 13a , $x ) ( $ts + 14a , $x ) ( $ts + 15a , $x ) ( $ts + 16a , $x ) ( $ts + 17a , $x ) ( $ts + 18a , $x ) ( $ts + 19a , $x ) ( $ts + 20a , $x ) ( $ts + 21a , $x ) ( $ts + 22a , $x ) ( $ts + 23a , $x ) ( $ts + 24a , $x ) ( $ts + 25a , $x ) ( $ts + 26a , $x ) ( $ts + 27a , $x ) ( $ts + 28a , $x ) ( $ts + 29a , $x ) ( $ts + 30a , $x ) ( $ts + 31a , $x ) ( $ts + 32a , $x ) ( $ts + 33a , $x ) ( $ts + 34a , $x ) ( $ts + 25a , $x ) ( $ts + 26a , $x ) ( $ts + 27a , $x ) ( $ts + 28a , $x ) ( $ts + 29a , $x ) ( $ts + 30a , $x ) ( $ts + 31a , $x ) ( $ts + 32a , $x ) ( $ts + 33a , $x ) ( $ts + 34a , $x ) ( $ts + 35a , $x ) ( $ts + 36a , $x ) ( $ts + 37a , $x ) ( $ts + 38a , $x ) ( $ts + 39a , $x ) ( $ts + 40a , $x ) ( $ts + 41a , $x ) ( $ts + 42a , $x ) ( $ts + 43a , $x ) ( $ts + 44a , $x ) ( $ts + 45a , $x ) ( $ts + 46a , $x ) ( $ts + 47a , $x ) ( $ts + 48a , $x ) ( $ts + 49a , $x ) ( $ts + 50a , $x ) ( $ts + 51a , $x ) ( $ts + 52a , $x ) ( $ts + 53a , $x ) ( $ts + 54a , $x ) ( $ts + 55a , $x ) ( $ts + 56a , $x ) ( $ts + 57a , $x ) ( $ts + 58a , $x ) ( $ts + 59a , $x ) $x = $x + 60 endw $totalRows = $totalRows + $x print info: inserted $x rows into $tb and totalRows: $totalRows $i = $i + 1 endw sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step2-1: stop dnode2 for falling disc, then restart dnode2, and check rows system sh/exec.sh -n dnode2 -s stop -x SIGINT system sh/exec.sh -n dnode2 -s start $x = 0 a0: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 1 then goto a0 endi sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step3: start dnode3 and add into cluster , then alter replica from 1 to 2, and waiting sync system sh/exec.sh -n dnode3 -s start sql create dnode $hostname3 $x = 0 step2: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes print dnode1 $data4_1 print dnode2 $data4_2 print dnode3 $data4_3 if $data4_3 != ready then goto step2 endi sql alter database $db replica 2 $x = 0 a1: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 2 then goto a1 endi # check using select sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step4: stop dnode2 for checking if sync ok system sh/exec.sh -n dnode2 -s stop $x = 0 a2: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 1 then goto a2 endi # check using select sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step5: restart dnode2 system sh/exec.sh -n dnode2 -s start $x = 0 a3: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 2 then goto a3 endi # check using select sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step6: start dnode4 and add into cluster , then alter replica from 2 to 3, and waiting sync system sh/exec.sh -n dnode4 -s start sql create dnode $hostname4 $x = 0 step6: $x = $x + 1 sleep 1000 if $x == 10 then return -1 endi sql show dnodes print dnode1 $data4_1 print dnode2 $data4_2 print dnode3 $data4_3 print dnode4 $data4_4 if $data4_4 != ready then goto step6 endi sql alter database $db replica 3 $x = 0 a4: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 3 then goto a4 endi # check using select sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step7: alter replica from 3 to 2, and waiting sync sql alter database $db replica 2 $x = 0 a5: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 2 then goto a5 endi # check using select sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step8: alter replica from 2 to 1, and waiting sync sql alter database $db replica 1 $x = 0 a6: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 1 then goto a6 endi # check using select sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi print ============== step9: drop dnode2/dnode3 sql drop dnode $hostname2 sql drop dnode $hostname3 sleep $sleepTimer $x = 0 step9: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes if $rows != 3 then goto step9 endi $x = 0 a7: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show vgroups print online vnodes $data03 if $data03 != 1 then goto a7 endi sleep $sleepTimer #waiting move vnode from dnode3/dnode3 to dnode4 # check using select sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi system sh/exec.sh -n dnode1 -s stop -x SIGINT system sh/exec.sh -n dnode2 -s stop -x SIGINT system sh/exec.sh -n dnode3 -s stop -x SIGINT system sh/exec.sh -n dnode4 -s stop -x SIGINT system sh/exec.sh -n dnode5 -s stop -x SIGINT system sh/exec.sh -n dnode6 -s stop -x SIGINT system sh/exec.sh -n dnode7 -s stop -x SIGINT system sh/exec.sh -n dnode8 -s stop -x SIGINT