#!/bin/bash source env.sh function install_jdk() { for i in $JDK_NODES do if ssh $USER@${i} test -e $ROOT/jdk/bin/java;then echo "${i} $ROOT/jdk already exists,please delete dir and contine" continue fi scp -rp $JDK_TAR $USER@${i}:$ROOT echo "end copy jdktgz." ssh -oStrictHostKeyChecking=no $USER@${i} tar xf $ROOT/$JDK_TAR -C $ROOT echo "end ${i} unzip jdktgz." ssh -oStrictHostKeyChecking=no $USER@${i} "echo -e \"export JAVA_HOME=$ROOT/jdk\" >> ~/.bash_profile" ssh -oStrictHostKeyChecking=no $USER@${i} "echo -e 'export PATH=\$PATH:\$JAVA_HOME/bin' >> ~/.bash_profile" ssh -oStrictHostKeyChecking=no $USER@${i} "rm -rf $ROOT/$JDK_TAR" echo "end add jdkpath" done } function jdk_status() { for i in $JDK_NODES do echo "${i}'s jdk status" ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && echo \$JAVA_HOME " done } function install_zookeeper() { num=1 for i in ${ZK_NODES[@]} do if ssh $USER@${i} test -e $ROOT/zookeeper/conf/zoo.cfg;then echo "${i} $ROOT/zookeeper already exists,please delete dir and contine" continue fi echo "copy ZKtgz to ${i}..." scp -rp $ZK_TAR $USER@${i}:$ROOT echo "seccess copy ZKtgz." echo "Unzip ${i} ZKtgz ..." ssh -oStrictHostKeyChecking=no $USER@${i} tar xf $ROOT/$ZK_TAR -C $ROOT echo "seccess ${i} unzip ZKtgz." echo "change zoo.cfg..." ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#/zkdatadir#$ROOT/zookeeper/data#g\" $ROOT/zookeeper/conf/zoo.cfg" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#zknode1#${ZK_NODES[1]}#g\" $ROOT/zookeeper/conf/zoo.cfg" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#zknode2#${ZK_NODES[2]}#g\" $ROOT/zookeeper/conf/zoo.cfg" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#zknode3#${ZK_NODES[3]}#g\" $ROOT/zookeeper/conf/zoo.cfg" ssh -oStrictHostKeyChecking=no $USER@${i} "echo -e ${num} > $ROOT/zookeeper/data/myid" ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && $ROOT/zookeeper/bin/zkServer.sh start" ssh -oStrictHostKeyChecking=no $USER@${i} "rm -rf $ROOT/$ZK_TAR" echo "seccess change zoo.cfg" let num=$num+1 done echo "success config $ZK_NODES"; } function zookeeper_status() { for i in ${ZK_NODES[@]} do echo "${i}'s zk status" ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && $ROOT/zookeeper/bin/zkServer.sh status|egrep Mode" done } function zookeeper_start() { for i in ${ZK_NODES[@]} do echo "${i}'s zookeeper start..." ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && $ROOT/zookeeper/bin/zkServer.sh start" done } function zookeeper_stop() { for i in ${ZK_NODES[@]} do echo "${i}'s zookeeper stop..." ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && $ROOT/zookeeper/bin/zkServer.sh stop" done } function install_kafka() { num=1 for i in ${KAFKA_NODES[@]} do if ssh $USER@${i} test -e $ROOT/kafka;then echo "${i} $ROOT/kafka already exists,please delete dir and contine" continue fi echo "copy KAFKAtgz to ${i}..." scp -rp $KAFKA_TAR $USER@${i}:$ROOT echo "seccess copy KAFKAtgz." echo "Unzip ${i} KAFKAtgz ..." ssh -oStrictHostKeyChecking=no $USER@${i} tar xf $ROOT/$KAFKA_TAR -C $ROOT echo "seccess ${i} unzip KAFKAtgz." echo "change config/server.properties ..." ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#broker.id=1#broker.id=${num}#g\" $ROOT/kafka/config/server.properties" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#kafkalogsdir#$ROOT/kafka/datalogs#g\" $ROOT/kafka/config/server.properties" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#kafkanode#${KAFKA_NODES[${num}]}#g\" $ROOT/kafka/config/server.properties" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#zknode1#${ZK_NODES[1]}#g\" $ROOT/kafka/config/server.properties" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#zknode2#${ZK_NODES[2]}#g\" $ROOT/kafka/config/server.properties" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#zknode3#${ZK_NODES[3]}#g\" $ROOT/kafka/config/server.properties" echo "seccess change server.properties" ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && $ROOT/kafka/bin/kafka-server-start.sh -daemon $ROOT/kafka/config/server.properties" ssh -oStrictHostKeyChecking=no $USER@${i} "rm -rf $ROOT/$KAFKA_TAR" echo "seccess start kafka" let num=$num+1 done echo "success config $KAFKA_NODES"; } function kafka_status() { for i in ${KAFKA_NODES[@]} do echo "kafka broken Deployed on ${i}" ssh -oStrictHostKeyChecking=no $USER@${i} "/usr/sbin/ss -atlunp|egrep 9092 >/dev/null && echo \"up\" ||echo \"done\"" done } function kafka_start() { for i in ${KAFKA_NODES[@]} do ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && $ROOT/kafka/bin/kafka-server-start.sh -daemon $ROOT/kafka/config/server.properties" done } function kafka_stop() { for i in ${KAFKA_NODES[@]} do #ssh -oStrictHostKeyChecking=no $USER@${i} "ps -ef|egrep kafka_2.13-3.2.1/config/server.properties|egrep -v grep|awk '{print $2}'|xargs kill -9 " ssh -oStrictHostKeyChecking=no $USER@${i} "source ~/.bash_profile && $ROOT/kafka/bin/kafka-server-stop.sh && echo \"kill kafka on ${i}\"" done } function install_nebula() { num=1 #scp -rp nebula_console_studio.tgz $USER@${NEBULA_NODES[1]}:$ROOT #echo "seccess copy NEBULA_TOOL_tgz." #ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} tar xf $ROOT/nebula_console_studio.tgz -C $ROOT #ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} "nohup $ROOT/nebula-graph-studio/server -studio-config $ROOT/nebula-graph-studio/config/example-config.yaml > $ROOT/nebula-graph-studio/runing.log 2>&1 &" #ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} rm -rf $ROOT/nebula_console_studio.tgz #echo "seccess ${NEBULA_NODES[1]} unzip NEBULA_TOOL_tgz." scp -rp $NEBULA_CONSOLE $USER@${NEBULA_NODES[1]}:$ROOT echo "seccess copy $NEBULA_CONSOLE to ${NEBULA_NODES[1]}." #ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} tar xf $ROOT/nebula_console_studio.tgz -C $ROOT #ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} "nohup $ROOT/nebula-graph-studio/server -studio-config $ROOT/nebula-graph-studio/config/example-config.yaml > $ROOT/nebula-graph-studio/runing.log 2>&1 &" #ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} rm -rf $ROOT/nebula_console_studio.tgz #echo "seccess ${NEBULA_NODES[1]} unzip NEBULA_TOOL_tgz." for i in ${NEBULA_NODES[@]} do if ssh $USER@${i} test -e $ROOT/nebula;then echo "${i} $ROOT/nebula already exists,please delete dir and contine" continue fi scp -rp $NEBULA_TAR $USER@${i}:$ROOT echo "seccess copy NEBULAtgz." ssh -oStrictHostKeyChecking=no $USER@${i} tar xf $ROOT/$NEBULA_TAR -C $ROOT echo "seccess ${i} unzip NEBULA.tgz." ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanodelocal#${NEBULA_NODES[${num}]}#g\" $ROOT/nebula/etc/nebula-metad.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanodelocal#${NEBULA_NODES[${num}]}#g\" $ROOT/nebula/etc/nebula-graphd.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanodelocal#${NEBULA_NODES[${num}]}#g\" $ROOT/nebula/etc/nebula-storaged.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode1#${NEBULA_NODES[1]}#g\" $ROOT/nebula/etc/nebula-metad.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode1#${NEBULA_NODES[1]}#g\" $ROOT/nebula/etc/nebula-graphd.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode2#${NEBULA_NODES[2]}#g\" $ROOT/nebula/etc/nebula-graphd.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode3#${NEBULA_NODES[3]}#g\" $ROOT/nebula/etc/nebula-graphd.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode1#${NEBULA_NODES[1]}#g\" $ROOT/nebula/etc/nebula-storaged.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode2#${NEBULA_NODES[2]}#g\" $ROOT/nebula/etc/nebula-storaged.conf" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode3#${NEBULA_NODES[3]}#g\" $ROOT/nebula/etc/nebula-storaged.conf" echo "seccess change nebula config" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-metad.service start" echo "startd nebula metad" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-graphd.service start" echo "startd nebula graphd" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-storaged.service start" echo "startd nebula storaged" let num=$num+1 ssh -oStrictHostKeyChecking=no $USER@${i} "rm -rf $ROOT/$NEBULA_TAR" done sleep 10 ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} "chmod a+x $ROOT/$NEBULA_CONSOLE" ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} " $ROOT/$NEBULA_CONSOLE --addr ${NEBULA_NODES[1]} --port 9669 -u root -p nebula -e \"ADD HOSTS ${NEBULA_NODES[1]}:9779\";" ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} " $ROOT/$NEBULA_CONSOLE --addr ${NEBULA_NODES[1]} --port 9669 -u root -p nebula -e \"ADD HOSTS ${NEBULA_NODES[2]}:9779\";" ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} " $ROOT/$NEBULA_CONSOLE --addr ${NEBULA_NODES[1]} --port 9669 -u root -p nebula -e \"ADD HOSTS ${NEBULA_NODES[3]}:9779\";" #echo "success config $KAFKA_NODES"; } function nebula_status() { ssh -oStrictHostKeyChecking=no $USER@${NEBULA_NODES[1]} " $ROOT/$NEBULA_CONSOLE --addr ${NEBULA_NODES[1]} --port 9669 -u root -p nebula -e \"SHOW HOSTS\";" } function nebula_start() { for i in ${NEBULA_NODES[@]} do echo "start nebula on ${i}..." ssh -oStrictHostKeyChecking=no $USER@${i} "rm -rf $ROOT/nebula/pids/*" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-metad.service start" echo "startd nebula metad" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-graphd.service start" echo "startd nebula graphd" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-storaged.service start" echo "startd nebula storaged" done } function nebula_stop() { for i in ${NEBULA_NODES[@]} do echo "stop nebula on ${i}..." ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-metad.service stop" echo "stoped nebula metad" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-graphd.service stop" echo "stoped nebula graphd" ssh -oStrictHostKeyChecking=no $USER@${i} "$ROOT/nebula/scripts/nebula-storaged.service stop" echo "stoped nebula storaged" ssh -oStrictHostKeyChecking=no $USER@${i} "rm -rf $ROOT/nebula/pids/*" echo "seccess delete ${i} pids" done } function install_redis() { if ssh $USER@$REDIS_NODE test -e $ROOT/redis;then echo "${i} $ROOT/redis already exists,please delete dir and contine" exit 0 fi scp -rp $REDIS_TAR $USER@$REDIS_NODE:$ROOT echo "seccess copy $REDIS_TAR" ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE tar xf $ROOT/$REDIS_TAR -C $ROOT ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "sed -i \"s#redisdir#$ROOT/redis/data#g\" $ROOT/redis/conf/redis.conf" ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "sed -i \"s#currentdir#$ROOT#g\" $ROOT/redis/start_redis.sh" ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "bash $ROOT/redis/start_redis.sh" ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "rm -rf $ROOT/redis*gz" } function redis_status() { echo "Redis Deployed on $REDIS_NODE" ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "/usr/sbin/ss -atlunp|egrep 6379 >/dev/null && echo \"up\"||echo \"done\"" } function redis_start() { ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "bash $ROOT/redis/start_redis.sh" } function redis_stop() { ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "bash $ROOT/redis/stop_redis.sh" } function install_postgresql() { if ssh $USER@$POSTGRESQL_NODE test -e $ROOT/postgresql;then echo "$POSTGRESQL_NODE $ROOT/postgresql already exists,please delete dir and contine" exit 0 fi scp -rp $POSTGRESQL_TAR $USER@$POSTGRESQL_NODE:$ROOT echo "secess copy $POSTGRESQL_TAR" ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE tar xf $ROOT/$POSTGRESQL_TAR -C $ROOT ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "echo -e 'export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$ROOT/postgresql/lib' >> ~/.bash_profile && source ~/.bash_profile" sleep 5 ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "$ROOT/postgresql/bin/pg_ctl -D $ROOT/postgresql/data -l logfile start" ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "rm -rf $ROOT/$POSTGRESQL_TAR" } function postgresql_status() { ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "$ROOT/postgresql/bin/pg_ctl -D $ROOT/postgresql/data -l logfile status" } function postgresql_start() { ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "$ROOT/postgresql/bin/pg_ctl -D $ROOT/postgresql/data -l logfile start" } function postgresql_stop() { ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "$ROOT/postgresql/bin/pg_ctl -D $ROOT/postgresql/data -l logfile stop" } function install_airflow() { if ssh $USER@$AIRFLOW_NODE test -d $ROOT/airflow;then echo "$AIRFLOW_NODE $ROOT/airflow already exists,please delete dir and contine" exit 0 elif ssh $USER@$AIRFLOW_NODE test -d /usr/local/bin/python3;then scp -rp $AIRFLOW_TAR $USER@$AIRFLOW_NODE:$ROOT echo "secess copy $AIRFLOW_TAR" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE tar xf $ROOT/$AIRFLOW_TAR -C $ROOT echo "secess tar $AIRFLOW_TAR in $ROOT on $AIRFLOW_NODE" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "echo -e 'export AIRFLOW_HOME=$ROOT/airflow/airflow' >> ~/.bash_profile" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "sed -i \"s#/data/airflow#$ROOT/airflow#g\" $ROOT/airflow_12/airflow/airflow.cfg" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "sed -i \"s#redisaddr#$REDIS_NODE#g\" $ROOT/airflow_12/airflow/airflow.cfg" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "sed -i \"s#postgresqladdr#$POSTGRESQL_NODE#g\" $ROOT/airflow_12/airflow/airflow.cfg" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "sed -i \"s#zknode1#${ZK_NODES[1]}#g\" $ROOT/airflow_12/airflow/airflow.cfg" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "sed -i \"s#zknode2#${ZK_NODES[2]}#g\" $ROOT/airflow_12/airflow/airflow.cfg" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "sed -i \"s#zknode3#${ZK_NODES[3]}#g\" $ROOT/airflow_12/airflow/airflow.cfg" ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "source ~/.bash_profile && $ROOT/pgsql13/bin/createdb -h $POSTGRESQL_NODE -p 5432 -U postgres airflow_celery" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "source $ROOT/airflow_12/airflow_venv/bin/activate && source ~/.bash_profile && airflow db init && airflow users create --username aloudata --firstname aloudata --lastname bigmeta --role Admin --email aloudata@aloudata.com --password aloudata" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "source $ROOT/airflow_12/airflow_venv/bin/activate && source ~/.bash_profile && airflow webserver --port 8079 -D && airflow scheduler -D && airflow celery flower -D && airflow celery worker -D" else echo "do not have aloudata python3.8.2,please chack and install" exit 0 fi } function airflow_status() { ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "ps -ef|egrep \"airflow_venv/bin/airflow webserver\"|egrep -v grep >/dev/null && echo \"webserver up\"" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "ps -ef|egrep \"airflow_venv/bin/airflow scheduler\"|egrep -v grep >/dev/null && echo \"scheduler up\"" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "ps -ef|egrep \"airflow_venv/bin/airflow celery flower\"|egrep -v grep >/dev/null&& echo \"flower up\"" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "ps -ef|egrep \"celery worker\"|egrep -v grep >/dev/null && echo \"worker up\"" } function airflow_start() { ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "rm -rf $ROOT/airflow_12/airflow/airflow-*" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "source $ROOT/airflow_12/airflow_venv/bin/activate && source ~/.bash_profile && airflow webserver --port 8079 -D && airflow scheduler -D && airflow celery flower -D && airflow celery worker -D" } function airflow_stop() { ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "ps -ef|egrep \"airflow|celery\"|egrep -v grep|awk '{print \$2}'|xargs kill -9" ssh -oStrictHostKeyChecking=no $USER@$AIRFLOW_NODE "ps -ef|egrep \"airflow|celery\"|egrep -v grep|awk '{print $2}'" } function install_bigmeta() { num=1 ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "source ~/.bash_profile && $ROOT/pgsql13/bin/createdb -h $POSTGRESQL_NODE -p 5432 -U postgres bigmeta" ssh -oStrictHostKeyChecking=no $USER@$POSTGRESQL_NODE "source ~/.bash_profile && $ROOT/pgsql13/bin/psql -h $POSTGRESQL_NODE -p 5432 -d bigmeta -U postgres -f $ROOT/pgsql13/aloudata.sql" for i in ${BIGMETA_NODES[@]} do if ssh $USER@${i} test -e $ROOT/bigmeta;then echo "${i} $ROOT/bigmeta already exists,please delete dir and contine" continue fi echo "copy $BIGMETA_TAR to ${i}..." scp -r $BIGMETA_TAR $USER@${i}:$ROOT echo "seccess copy $BIGMETA_TAR." echo "Unzip $BIGMETA_TAR on ${i}..." ssh -oStrictHostKeyChecking=no $USER@${i} tar xf $ROOT/$BIGMETA_TAR -C $ROOT echo "seccess ${i} unzip $BIGMETA_TAR." echo "change config/application.yml ..." ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode1#${NEBULA_NODES[1]}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode2#${NEBULA_NODES[2]}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#nebulanode3#${NEBULA_NODES[3]}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#kafkanode1#${KAFKA_NODES[1]}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#kafkanode2#${KAFKA_NODES[2]}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#kafkanode3#${KAFKA_NODES[3]}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#postgresqlnode#$POSTGRESQL_NODE#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#bigmeta-schema-data-topic#bigmeta-schema-data-topic-${num}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#redisnode#$REDIS_NODE#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#airflownode#$AIRFLOW_NODE#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#bigmetanode#${i}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "cd $ROOT/bigmeta && nohup $ROOT/jdk1.8.0_191/bin/java -Xmx8g -Xms8g -Xmn4G -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:CMSInitiatingOccupancyFraction=70 -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -server -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -XX:+UseFastAccessorMethods -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$ROOT/bigmeta -jar bigmeta.jar >> /dev/null 2>&1 &" let num=$num+1 done } function bigmeta_replace() { for i in ${BIGMETA_NODES[@]} do rsync -av --delete bigmeta/ $USER@${i}:$ROOT/bigmeta ssh -oStrictHostKeyChecking=no $USER@${i} "sed -i \"s#bigmetanode#${i}#g\" $ROOT/bigmeta/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@${i} "cd $ROOT/bigmeta && nohup $ROOT/jdk1.8.0_191/bin/java -Xmx30g -Xms30g -Xmn4G -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:CMSInitiatingOccupancyFraction=70 -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -server -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -XX:+UseFastAccessorMethods -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$ROOT/bigmeta -jar bigmeta.jar > /dev/null 2>&1 & " done } function bigmeta_start() { for i in ${BIGMETA_NODES[@]} do ssh -oStrictHostKeyChecking=no $USER@${i} "ps -ef|egrep bigmeta.jar|egrep -v "grep"|awk '{print \$2}'|xargs kill -9" ssh -oStrictHostKeyChecking=no $USER@${i} "cd $ROOT/bigmeta && nohup $ROOT/jdk1.8.0_191/bin/java -Xmx8g -Xms8g -Xmn4G -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:CMSInitiatingOccupancyFraction=70 -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -server -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -XX:+UseFastAccessorMethods -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$ROOT/bigmeta -jar bigmeta.jar >> /dev/null 2>&1 &" echo "started bigmeta on ${i}" done } function bigmeta_stop() { for i in ${BIGMETA_NODES[@]} do ssh -oStrictHostKeyChecking=no $USER@${i} "ps -ef|egrep bigmeta.jar|egrep -v "grep"|awk '{print \$2}'|xargs kill -9" echo "stoped bigmeta on ${i}" done } function install_web() { if ssh $USER@$WEB_NODE test -e $ROOT/nginx;then echo "${i} $ROOT/nginx already exists,please delete dir and contine" exit 0 fi scp -rp $WEB_TAR $USER@$WEB_NODE:$ROOT echo "seccess copy $WEB_TAR" ssh -oStrictHostKeyChecking=no $USER@$WEB_NODE tar xf $ROOT/$WEB_TAR -C $ROOT ssh -oStrictHostKeyChecking=no $USER@$WEB_NODE "sed -i \"s#bigmetaaddr#${BIGMETA_NODES[1]}#g\" $ROOT/nginx/nginx-1.20.1/conf/nginx.conf" ssh -oStrictHostKeyChecking=no $USER@$WEB_NODE "cd $ROOT/nginx/nginx-1.20.1 && ./sbin/nginx" ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "rm -rf $ROOT/nginx*.gz" } function web_status() { echo "Redis Deployed on $REDIS_NODE" ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "/usr/sbin/ss -atlunp|egrep 6379 >/dev/null && echo \"up\"||echo \"done\"" } function web_start() { ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "bash $ROOT/redis/start_redis.sh" } function web_stop() { ssh -oStrictHostKeyChecking=no $USER@$REDIS_NODE "bash $ROOT/redis/stop_redis.sh" } function install_ame() { if ssh $USER@$AME_NODE test -e $ROOT/ame;then echo "${i} $ROOT/ame already exists,please delete dir and contine" exit 0 fi scp -rp $AME_TAR $USER@$AME_NODE:$ROOT echo "seccess copy $AME_NODE" ssh -oStrictHostKeyChecking=no $USER@$AME_NODE tar xf $ROOT/$AME_TAR -C $ROOT ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "sed -i \"s#kafkanode1#${KAFKA_NODES[1]}#g\" $ROOT/ame/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "sed -i \"s#kafkanode2#${KAFKA_NODES[2]}#g\" $ROOT/ame/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "sed -i \"s#kafkanode3#${KAFKA_NODES[3]}#g\" $ROOT/ame/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "sed -i \"s#redisnode#$REDIS_NODE#g\" $ROOT/ame/config/application.yml" ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "cd $ROOT/ame && source ~/.bash_profile && java -Xmx8g -Xms8g -Xmn4G -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:CMSInitiatingOccupancyFraction=70 -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -server -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -XX:+UseFastAccessorMethods -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$ROOT/ame -Dlog.dir=$ROOT/ame/logs -jar ame.jar >> /dev/null 2>&1 &" } function ame_replace() { for AME_NODE in ${AME_NODES[@]} do rsync -av --delete ame/ $USER@$AME_NODE:$ROOT/ame ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "cd $ROOT/ame && source ~/.bash_profile && java -Xmx20g -Xms20g -Xss16m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:/data/gc-ame/gc-%t.log -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:CMSInitiatingOccupancyFraction=70 -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -server -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -XX:+UseFastAccessorMethods -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$ROOT/ame -Dlog.dir=$ROOT/ame/logs -Dspring.profiles.active=poc -jar ame.jar > /dev/null 2>&1 &" done } function ame_start() { ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "ps -ef|egrep ame.jar|egrep -v "grep"|awk '{print \$2}'|xargs kill -9" ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "cd $ROOT/ame && source ~/.bash_profile && java -Xmx8g -Xms8g -Xmn4G -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:CMSInitiatingOccupancyFraction=70 -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -server -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -XX:+UseFastAccessorMethods -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$ROOT/ame -Dlog.dir=$ROOT/ame/logs -jar ame.jar >> /dev/null 2>&1 &" echo "started ame on $AME_NODE" } function ame_stop() { ssh -oStrictHostKeyChecking=no $USER@$AME_NODE "ps -ef|egrep ame.jar|egrep -v "grep"|awk '{print \$2}'|xargs kill -9" echo "stoped ame on $AME_NODE" } if [ "$1" = "install_jdk" ] then install_jdk jdk_status elif [ "$1" = "jdk_status" ] then jdk_status elif [ "$1" = "install_zookeeper" ] then install_zookeeper zookeeper_status elif [ "$1" = "zookeeper_status" ] then zookeeper_status elif [ "$1" = "zookeeper_start" ] then zookeeper_start elif [ "$1" = "zookeeper_stop" ] then zookeeper_stop elif [ "$1" = "install_kafka" ] then install_kafka kafka_status elif [ "$1" = "kafka_status" ] then kafka_status elif [ "$1" = "kafka_start" ] then kafka_start elif [ "$1" = "kafka_stop" ] then kafka_stop elif [ "$1" = "install_nebula" ] then install_nebula nebula_status elif [ "$1" = "nebula_status" ] then nebula_status elif [ "$1" = "nebula_start" ] then nebula_start elif [ "$1" = "nebula_stop" ] then nebula_stop elif [ "$1" = "install_redis" ] then install_redis redis_status elif [ "$1" = "redis_status" ] then redis_status elif [ "$1" = "redis_start" ] then redis_start elif [ "$1" = "redis_stop" ] then redis_stop elif [ "$1" = "install_postgresql" ] then install_postgresql postgresql_status elif [ "$1" = "postgresql_status" ] then postgresql_status elif [ "$1" = "postgresql_start" ] then postgresql_start elif [ "$1" = "postgresql_stop" ] then postgresql_stop elif [ "$1" = "install_airflow" ] then install_airflow airflow_status elif [ "$1" = "airflow_start" ] then airflow_start elif [ "$1" = "airflow_stop" ] then airflow_stop elif [ "$1" = "airflow_status" ] then airflow_status elif [ "$1" = "install_bigmeta" ] then install_bigmeta elif [ "$1" = "bigmeta_start" ] then bigmeta_start elif [ "$1" = "bigmeta_stop" ] then bigmeta_stop elif [ "$1" = "install_web" ] then install_web elif [ "$1" = "install_ame" ] then install_ame elif [ "$1" = "ame_start" ] then ame_start elif [ "$1" = "ame_stop" ] then ame_stop fi