指定线上环境:mirage17 :/home/tseg/bdap

指定预发环境:mirage18: /home/tseg/bdap

目前部署的四台机器ip:

10.105.222.90:mirage17

10.105.222.91:mirage17

10.105.222.92:mirage17

10.105.222.93:mirage17

mirage17和mirage18在以下文档中均指代为host

预安装部分:

1.node

2.consul:https://www.consul.io/downloads 下载linux的对应安装包,解压后运行

  1. sudo ./consul agent -dev -client 0.0.0.0 -ui

在host:8500中能看到consul的ui,代表consul配置成功

3.git

4.maven (记得同时换源)

部署流程

checkout代码库到host的对应文件夹中,执行

  1. git clone https://github.com/dssc-group/BDAP2.0.git

部署后端的各项脚本

1.从git仓库拉取最新版本并进行打包,执行脚本

  1. git pull
  2. MODULES=(experiment-service livy-service gateway filesystem-service login-service)
  3. MODULESPATH=/home/tseg/BDAP/BDAP/bdap
  4. for((i=0;i<${#MODULES[@]};i++));
  5. do
  6. MODULE_NAME=${MODULES[$i]}
  7. cd $MODULESPATH/$MODULE_NAME
  8. mvn package
  9. done

2.配置防火墙开放1001,2001,3001,4001,5001,8080,8500端口(在执行之前)

  1. ports=(1001 2001 3001 4001 5001 8080 8500)
  2. for((i=0;i<${#ports[@]};i++));
  3. do
  4. port=${ports[$i]}
  5. sudo /sbin/iptables -I INPUT -p tcp --dport $port -j ACCEPT
  6. done

3.启动livy脚本(四台机器)

  1. export SPARK_HOME=/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/spark
  2. export HADOOP_CONF_DIR=/etc/hadoop/conf
  3. cd /home/tseg/livy/bin
  4. nohup ./livy-server &

4.启动五个jar包

  1. cd /home/tseg/BDAP/BDAP/bdap
  2. nohup sudo java -jar login-service/target/login-service-0.0.1-SNAPSHOT.jar &
  3. nohup sudo java -jar experiment-service/target/experiment-service-0.0.1-SNAPSHOT.jar &
  4. nohup sudo java -jar filesystem-service/target/filesystem-service-0.0.1-SNAPSHOT.jar &
  5. nohup sudo java -jar gateway/target/gateway-0.0.1-SNAPSHOT.jar &
  6. nohup sudo java -jar livy-service/target/livy-service-0.0.1-SNAPSHOT.jar &

5.停止jar包服务

  1. sudo ps -ef | grep experiment-service-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
  2. sudo ps -ef | grep filesystem-service-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
  3. sudo ps -ef | grep login-service-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
  4. sudo ps -ef | grep gateway-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
  5. sudo ps -ef | grep livy-service-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9

如果在linux环境下运行不了注意windows和linux的换行符区别,用dos2unix转换一下即可

在 consul的ui看见

部署文档 - 图1

即部署完成

前端部署流程

cd demo/src/Fetchtool 文件夹下2

cd frontEnd 文件夹下,执行

  1. git pull
  2. npm install
  3. nohup npm start

即可在8080端口访问平台