mirror of https://gitee.com/bigwinds/arangodb
Store parameters of startLocalCluster.sh (#3593)
Store parameters of startLocalCluster.sh This should help you to bring the cluster up again when you continue to work after some time without investigating the port numbers. Restore parameters if no arguments are given
This commit is contained in:
parent
e13ebbb128
commit
27460a92e1
|
@ -47,7 +47,8 @@ JWT_SECRET=""
|
|||
PORT_OFFSET=0
|
||||
SRC_DIR="."
|
||||
|
||||
while [[ ${1} ]]; do
|
||||
parse_args(){
|
||||
while [[ -n "$1" ]]; do
|
||||
case "${1}" in
|
||||
-a|--agency-size)
|
||||
NRAGENTS=${2}
|
||||
|
@ -125,3 +126,4 @@ while [[ ${1} ]]; do
|
|||
return 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
|
|
@ -1,21 +1,37 @@
|
|||
#!/bin/bash
|
||||
params=("$@")
|
||||
|
||||
. `dirname $0`/cluster-run-common.sh
|
||||
lib="$(dirname $(readlink -f ${BASH_SOURCE[0]}))/cluster-run-common.sh"
|
||||
if [[ -f "$lib" ]]; then
|
||||
. "$lib"
|
||||
else
|
||||
echo "could not source $lib"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -f cluster/startup_parameters ]];then
|
||||
if [[ -z "${params[@]}" ]]; then
|
||||
string="$(< cluster/startup_parameters)"
|
||||
params=( $string )
|
||||
fi
|
||||
fi
|
||||
|
||||
parse_args "${params[@]}"
|
||||
|
||||
echo Number of Agents: $NRAGENTS
|
||||
echo Number of DBServers: $NRDBSERVERS
|
||||
echo Number of Coordinators: $NRCOORDINATORS
|
||||
|
||||
if [ -z "$ONGOING_PORTS" ] ; then
|
||||
CO_BASE=$(( $PORT_OFFSET + 8530 ))
|
||||
DB_BASE=$(( $PORT_OFFSET + 8629 ))
|
||||
AG_BASE=$(( $PORT_OFFSET + 4001 ))
|
||||
SE_BASE=$(( $PORT_OFFSET + 8729 ))
|
||||
CO_BASE=$(( PORT_OFFSET + 8530 ))
|
||||
DB_BASE=$(( PORT_OFFSET + 8629 ))
|
||||
AG_BASE=$(( PORT_OFFSET + 4001 ))
|
||||
SE_BASE=$(( PORT_OFFSET + 8729 ))
|
||||
else
|
||||
CO_BASE=$(( $PORT_OFFSET + 8530 ))
|
||||
DB_BASE=$(( $PORT_OFFSET + 8530 + $NRCOORDINATORS ))
|
||||
AG_BASE=$(( $PORT_OFFSET + 8530 + $NRCOORDINATORS + $NRDBSERVERS ))
|
||||
SE_BASE=$(( $PORT_OFFSET + 8530 + $NRCOORDINATORS + $NRDBSERVERS + $NRAGENTS ))
|
||||
CO_BASE=$(( PORT_OFFSET + 8530 ))
|
||||
DB_BASE=$(( PORT_OFFSET + 8530 + NRCOORDINATORS ))
|
||||
AG_BASE=$(( PORT_OFFSET + 8530 + NRCOORDINATORS + NRDBSERVERS ))
|
||||
SE_BASE=$(( PORT_OFFSET + 8530 + NRCOORDINATORS + NRDBSERVERS + NRAGENTS ))
|
||||
fi
|
||||
|
||||
LOCALHOST="[::1]"
|
||||
|
@ -72,7 +88,7 @@ testServerDown() {
|
|||
$CURL GET $PROT://$LOCALHOST:$PORT/_api/version >/dev/null 2>/dev/null
|
||||
if [ "$?" != "0" ] ; then
|
||||
pid=$(ps -eaf|grep data$PORT|grep -v grep|awk '{print $2}')
|
||||
if [ -z $pid ]; then
|
||||
if [ -z "$pid" ]; then
|
||||
break
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -1,6 +1,44 @@
|
|||
#!/bin/bash
|
||||
params=("$@")
|
||||
|
||||
. `dirname $0`/cluster-run-common.sh
|
||||
rm -rf cluster
|
||||
if [ -d cluster-init ];then
|
||||
echo "== creating cluster directory from existing cluster-init directory"
|
||||
cp -a cluster-init cluster
|
||||
else
|
||||
echo "== creating fresh directory"
|
||||
mkdir -p cluster || { echo "failed to create cluster directory"; exit 1; }
|
||||
#if we want to restart we should probably store the parameters line wise
|
||||
fi
|
||||
|
||||
|
||||
lib="$(dirname $(readlink -f ${BASH_SOURCE[0]}))/cluster-run-common.sh"
|
||||
if [[ -f "$lib" ]]; then
|
||||
. "$lib"
|
||||
else
|
||||
echo "could not source $lib"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -f cluster/startup_parameters ]];then
|
||||
string="$(< cluster/startup_parameters)"
|
||||
if [[ -z "${params[@]}" ]]; then
|
||||
params=( $string )
|
||||
else
|
||||
if ! [[ "$*" == "$string" ]]; then
|
||||
echo "stored and given params do not match:"
|
||||
echo "given: ${params[@]}"
|
||||
echo "stored: $string"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
#store parmeters
|
||||
if [[ -n "${params[@]}" ]]; then
|
||||
echo "${params[@]}" > cluster/startup_parameters
|
||||
fi
|
||||
fi
|
||||
|
||||
parse_args "${params[@]}"
|
||||
|
||||
if [ "$POOLSZ" == "" ] ; then
|
||||
POOLSZ=$NRAGENTS
|
||||
|
@ -13,14 +51,18 @@ else
|
|||
fi
|
||||
DEFAULT_REPLICATION=""
|
||||
|
||||
if [[ $NRAGENTS -le 0 ]]; then
|
||||
echo "you need as least one agent currently you have $NRAGENTS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf "Starting agency ... \n"
|
||||
printf " # agents: %s," "$NRAGENTS"
|
||||
printf "== Starting agency ... \n"
|
||||
printf " # agents: %s," "$NRAGENTS"
|
||||
printf " # db servers: %s," "$NRDBSERVERS"
|
||||
printf " # coordinators: %s," "$NRCOORDINATORS"
|
||||
printf " transport: %s\n" "$TRANSPORT"
|
||||
|
||||
if [[ $(( $NRAGENTS % 2 )) == 0 ]]; then
|
||||
if (( $NRAGENTS % 2 == 0)) ; then
|
||||
echo "**ERROR: Number of agents must be odd! Bailing out."
|
||||
exit 1
|
||||
fi
|
||||
|
@ -43,12 +85,6 @@ NATH=$(( $NRDBSERVERS + $NRCOORDINATORS + $NRAGENTS ))
|
|||
ENDPOINT=[::]
|
||||
ADDRESS=${ADDRESS:-[::1]}
|
||||
|
||||
rm -rf cluster
|
||||
if [ -d cluster-init ];then
|
||||
cp -a cluster-init cluster
|
||||
fi
|
||||
mkdir -p cluster
|
||||
|
||||
if [ -z "$JWT_SECRET" ];then
|
||||
AUTHENTICATION="--server.authentication false"
|
||||
AUTHORIZATION_HEADER=""
|
||||
|
@ -80,7 +116,7 @@ else
|
|||
CO_ARANGOD=$ARANGOD
|
||||
fi
|
||||
|
||||
echo Starting agency ...
|
||||
echo == Starting agency ...
|
||||
for aid in `seq 0 $(( $NRAGENTS - 1 ))`; do
|
||||
port=$(( $AG_BASE + $aid ))
|
||||
AGENCY_ENDPOINTS+="--cluster.agency-endpoint $TRANSPORT://$ADDRESS:$port "
|
||||
|
@ -131,7 +167,7 @@ start() {
|
|||
TYPE=$1
|
||||
PORT=$2
|
||||
mkdir cluster/data$PORT cluster/apps$PORT
|
||||
echo Starting $TYPE on port $PORT
|
||||
echo == Starting $TYPE on port $PORT
|
||||
$CMD \
|
||||
-c none \
|
||||
--database.directory cluster/data$PORT \
|
||||
|
@ -189,7 +225,7 @@ for p in `seq $CO_BASE $PORTTOPCO` ; do
|
|||
testServer $p
|
||||
done
|
||||
|
||||
echo Done, your cluster is ready at
|
||||
echo == Done, your cluster is ready at
|
||||
for p in `seq $CO_BASE $PORTTOPCO` ; do
|
||||
echo " ${BUILD}/bin/arangosh --server.endpoint $TRANSPORT://[::1]:$p"
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue