buildClusterEnv.sh 3.1 KB
Newer Older
P
Ping Xiao 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#!/bin/bash
echo "Executing buildClusterEnv.sh"
DOCKER_DIR=/data
CURR_DIR=`pwd`

if [ $# != 4 ]; then 
  echo "argument list need input : "
  echo "  -n numOfNodes"
  echo "  -v version"  
  exit 1
fi

NUM_OF_NODES=
VERSION=
while getopts "n:v:" arg
do
  case $arg in
    n)
      NUM_OF_NODES=$OPTARG
      ;;
    v)
      VERSION=$OPTARG
      ;;    
    ?)
      echo "unkonwn argument"
      ;;
  esac
done

30 31 32 33 34
function addTaoscfg {
  for i in {1..5}
  do 
    touch /data/node$i/cfg/taos.cfg
    echo 'firstEp          tdnode1:6030' > /data/node$i/cfg/taos.cfg
35
    echo 'fqdn             tdnode'$i >> /data/node$i/cfg/taos.cfg
36 37 38
    echo 'arbitrator       tdnode1:6042' >> /data/node$i/cfg/taos.cfg
  done
}
P
Ping Xiao 已提交
39 40

function createDIR {
41
  for i in {1..5}
P
Ping Xiao 已提交
42 43 44 45
  do    
    mkdir -p /data/node$i/data
    mkdir -p /data/node$i/log
    mkdir -p /data/node$i/cfg
46
    mkdir -p /data/node$i/core
P
Ping Xiao 已提交
47 48 49 50
  done
}

function cleanEnv {    
51
  for i in {1..5}
P
Ping Xiao 已提交
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
  do
    echo /data/node$i/data/*
    rm -rf /data/node$i/data/*
    echo /data/node$i/log/*
    rm -rf /data/node$i/log/*
  done
}

function prepareBuild {

  if [ -d $CURR_DIR/../../../../release ]; then
    echo release exists
    rm -rf $CURR_DIR/../../../../release/*
  fi

67
  if [ ! -e $DOCKER_DIR/TDengine-server-$VERSION-Linux-x64.tar.gz ] || [ ! -e $DOCKER_DIR/TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then
68
    cd $CURR_DIR/../../../../packaging
69
    echo "generating TDeninger packages"
70 71 72 73 74 75
    ./release.sh -v edge -n $VERSION >> /dev/null

    if [ ! -e $CURR_DIR/../../../../release/TDengine-server-$VERSION-Linux-x64.tar.gz ]; then
      echo "no TDengine install package found"
      exit 1
    fi
P
Ping Xiao 已提交
76

77 78 79 80 81 82 83 84 85
    if [ ! -e $CURR_DIR/../../../../release/TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then
      echo "no arbitrator install package found"
      exit 1
    fi

    cd $CURR_DIR/../../../../release
    mv TDengine-server-$VERSION-Linux-x64.tar.gz $DOCKER_DIR
    mv TDengine-arbitrator-$VERSION-Linux-x64.tar.gz $DOCKER_DIR
  fi
P
Ping Xiao 已提交
86 87 88 89
  
  rm -rf $DOCKER_DIR/*.yml
  cd $CURR_DIR

90
  cp *.yml  $DOCKER_DIR
P
Ping Xiao 已提交
91 92 93 94
  cp Dockerfile $DOCKER_DIR
}

function clusterUp {
95
  echo "docker compose start"
P
Ping Xiao 已提交
96
  
97
  cd $DOCKER_DIR  
98 99

  if [ $NUM_OF_NODES -eq 2 ]; then
100 101
    echo "create 2 dnodes"
    PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose up -d
102 103
  fi

P
Ping Xiao 已提交
104
  if [ $NUM_OF_NODES -eq 3 ]; then
105
    PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION  docker-compose -f docker-compose.yml -f node3.yml up -d
P
Ping Xiao 已提交
106 107 108
  fi

  if [ $NUM_OF_NODES -eq 4 ]; then
109
    PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION  docker-compose -f docker-compose.yml -f node3.yml -f node4.yml up -d
P
Ping Xiao 已提交
110 111 112
  fi

  if [ $NUM_OF_NODES -eq 5 ]; then
113
    PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION  docker-compose -f docker-compose.yml -f node3.yml -f node4.yml -f node5.yml up -d
P
Ping Xiao 已提交
114
  fi
115 116

  echo "docker compose finish"
P
Ping Xiao 已提交
117 118
}

119 120 121
createDIR
cleanEnv
addTaoscfg
122 123
prepareBuild
clusterUp