vitess.io/vitess@v0.16.2/examples/local/101_initial_cluster.sh (about) 1 #!/bin/bash 2 3 # Copyright 2019 The Vitess Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 # this script brings up zookeeper and all the vitess components 18 # required for a single shard deployment. 19 20 source ../common/env.sh 21 22 # start topo server 23 if [ "${TOPO}" = "zk2" ]; then 24 CELL=zone1 ../common/scripts/zk-up.sh 25 elif [ "${TOPO}" = "k8s" ]; then 26 CELL=zone1 ../common/scripts/k3s-up.sh 27 elif [ "${TOPO}" = "consul" ]; then 28 CELL=zone1 ../common/scripts/consul-up.sh 29 else 30 CELL=zone1 ../common/scripts/etcd-up.sh 31 fi 32 33 # start vtctld 34 CELL=zone1 ../common/scripts/vtctld-up.sh 35 36 # start vttablets for keyspace commerce 37 for i in 100 101 102; do 38 CELL=zone1 TABLET_UID=$i ../common/scripts/mysqlctl-up.sh 39 CELL=zone1 KEYSPACE=commerce TABLET_UID=$i ../common/scripts/vttablet-up.sh 40 done 41 42 # set the correct durability policy for the keyspace 43 vtctldclient --server localhost:15999 SetKeyspaceDurabilityPolicy --durability-policy=semi_sync commerce || fail "Failed to set keyspace durability policy on the commerce keyspace" 44 45 # start vtorc 46 ../common/scripts/vtorc-up.sh 47 48 # Wait for all the tablets to be up and registered in the topology server 49 # and for a primary tablet to be elected in the shard and become healthy/serving. 50 wait_for_healthy_shard commerce 0 || exit 1 51 52 # create the schema 53 vtctldclient ApplySchema --sql-file create_commerce_schema.sql commerce || fail "Failed to apply schema for the commerce keyspace" 54 55 # create the vschema 56 vtctldclient ApplyVSchema --vschema-file vschema_commerce_initial.json commerce || fail "Failed to apply vschema for the commerce keyspace" 57 58 # start vtgate 59 CELL=zone1 ../common/scripts/vtgate-up.sh 60 61 # start vtadmin 62 ../common/scripts/vtadmin-up.sh 63