123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/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
 | |
| 
 | |
| 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
 | |
|     echo 'fqdn             tdnode'$i >> /data/node$i/cfg/taos.cfg
 | |
|     echo 'arbitrator       tdnode1:6042' >> /data/node$i/cfg/taos.cfg
 | |
|   done
 | |
| }
 | |
| 
 | |
| function createDIR {
 | |
|   for i in {1..5}
 | |
|   do    
 | |
|     mkdir -p /data/node$i/data
 | |
|     mkdir -p /data/node$i/log
 | |
|     mkdir -p /data/node$i/cfg
 | |
|     mkdir -p /data/node$i/core
 | |
|   done
 | |
| }
 | |
| 
 | |
| function cleanEnv {    
 | |
|   for i in {1..5}
 | |
|   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
 | |
| 
 | |
|   if [ ! -e $DOCKER_DIR/TDengine-server-$VERSION-Linux-x64.tar.gz ] || [ ! -e $DOCKER_DIR/TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then
 | |
|     cd $CURR_DIR/../../../../packaging
 | |
|     echo "generating TDeninger packages"
 | |
|     ./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
 | |
| 
 | |
|     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
 | |
|   
 | |
|   rm -rf $DOCKER_DIR/*.yml
 | |
|   cd $CURR_DIR
 | |
| 
 | |
|   cp *.yml  $DOCKER_DIR
 | |
|   cp Dockerfile $DOCKER_DIR
 | |
| }
 | |
| 
 | |
| function clusterUp {
 | |
|   echo "docker compose start"
 | |
|   
 | |
|   cd $DOCKER_DIR  
 | |
| 
 | |
|   if [ $NUM_OF_NODES -eq 2 ]; then
 | |
|     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
 | |
|   fi
 | |
| 
 | |
|   if [ $NUM_OF_NODES -eq 3 ]; then
 | |
|     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
 | |
|   fi
 | |
| 
 | |
|   if [ $NUM_OF_NODES -eq 4 ]; then
 | |
|     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
 | |
|   fi
 | |
| 
 | |
|   if [ $NUM_OF_NODES -eq 5 ]; then
 | |
|     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
 | |
|   fi
 | |
| 
 | |
|   echo "docker compose finish"
 | |
| }
 | |
| 
 | |
| createDIR
 | |
| cleanEnv
 | |
| addTaoscfg
 | |
| prepareBuild
 | |
| clusterUp |