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/exec.sh -n dnode1 -s start system sh/exec.sh -n dnode2 -s start system sh/exec.sh -n dnode3 -s start system sh/exec.sh -n dnode4 -s start sql connect print =============== step1: create dnodes sql create dnode $hostname port 7200 sql create dnode $hostname port 7300 sql create dnode $hostname port 7400 $x = 0 step1: $x = $x + 1 sleep 1000 if $x == 10 then print ====> dnode not ready! return -1 endi sql show dnodes print ===> rows: $rows print ===> $data00 $data01 $data02 $data03 $data04 $data05 print ===> $data10 $data11 $data12 $data13 $data14 $data15 print ===> $data20 $data21 $data22 $data23 $data24 $data25 print ===> $data30 $data31 $data32 $data33 $data24 $data35 if $rows != 4 then return -1 endi if $data(1)[4] != ready then goto step1 endi if $data(2)[4] != ready then goto step1 endi if $data(3)[4] != ready then goto step1 endi if $data(4)[4] != ready then goto step1 endi print =============== step2: create database sql create database db vgroups 1 replica 3 sql show databases if $rows != 3 then return -1 endi if $data(db)[4] != 3 then return -1 endi sql show dnodes if $data(2)[2] != 1 then return -1 endi if $data(3)[2] != 1 then return -1 endi if $data(4)[2] != 1 then return -1 endi # vnodes sql show dnodes if $data(2)[2] != 1 then return -1 endi if $data(3)[2] != 1 then return -1 endi if $data(4)[2] != 1 then return -1 endi # v1_dnode $hasleader = 0 $x = 0 step2: $x = $x + 1 sleep 1000 if $x == 20 then print ====> dnode not ready! return -1 endi sql show db.vgroups print ===> $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 if $data(2)[3] != 2 then return -1 endi if $data(2)[5] != 3 then return -1 endi if $data(2)[7] != 4 then return -1 endi if $data(2)[4] == leader then $hasleader = 1 endi if $data(2)[6] == leader then $hasleader = 1 endi if $data(2)[8] == leader then $hasleader = 1 endi if $hasleader != 1 then goto step2 endi # sql use db; # sql create table stb (ts timestamp, c int) tags (t int); # sql create table t0 using stb tags (0); # sql insert into t0 values(now, 1); # sql show db.stables; # sql show db.tables; # sql show db.vgroups; return sql create table db.stb (ts timestamp, c1 int, c2 binary(4)) tags(t1 int, t2 binary(16)) comment "abd" sql create table db.ctb using db.stb tags(101, "102") sql insert into db.ctb values(now, 1, "2") sql show db.vgroups print ===> $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 sleep 100 sql select * from db.ctb print ===> $data00 $data01 $data02 $data03 $data04 $data05 if $rows != 1 then return -1 endi print ============= step3: alter database sql alter database db replica 1 $hasleader = 0 $x = 0 step3: $x = $x + 1 sleep 1000 if $x == 10 then print ====> dnode not ready! return -1 endi sql show db.vgroups print ===> rows: $rows if $rows != 1 then goto step3 endi if $data(2)[4] == leader then $hasleader = 1 endi if $data(2)[6] == leader then $hasleader = 1 endi if $data(2)[8] == leader then $hasleader = 1 endi if $hasleader != 1 then goto step3 endi print ============= step5: stop dnode 2 sql select * from db.stb if $rows != 1 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