x`# 一、服务器26 服务器IP:10.10.15.26 部署内容:主程序项目和组件 > 项目目录结构说明: 1、 项目日志:/data/webapp/logs 2、 项目上传资源文件:/data/webapp/uploads 3、 项目docker环境:/data/docker/webapp 4、 前端项目目录:/data/webapp/www 5、 API数据门户项目目录:/data/webapp/datamap 6、 ETL计算大数据目录:/data/webapp/bigdata 7、 部署文件临时存放位置:/data/software ## 1、安装docker ##### 1.1 上传docker-24.0.7.tgz到服务器[如:/data/software],解压缩并迁移命令 ``` # cp /data/software # tar -zxvf docker-24.0.7.tgz # cp -pf docker/* /usr/bin ``` ##### 1.2 将docker注册为系统服务 ``` # vim /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=network.target docker.socket [Service] Type=notify EnvironmentFile=-/run/flannel/docker WorkingDirectory=/usr/local/bin ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock --selinux-enabled=false ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target ``` ##### 1.3 设置docker镜像存储位置、国内镜像加速、私服地址信任 ``` # mkdir -p /data/docker/lib && mkdir /etc/docker # vim /etc/docker/daemon.json { "registry-mirrors": [ "https://hub-mirror.c.163.com/", "https://mirror.ccs.tencentyun.com", "https://mirror.baidubce.com" ], "insecure-registries": [ "docker.platomix.net:10000" ], "data-root": "/data/docker/lib" } ``` ##### 1.4 启动docker ``` # systemctl daemon-reload # systemctl start docker # systemctl enable docker // 开机启动 # docker info //查看docker是否启动成功 ``` ##### 1.5 上传docker-compose上传到/data/software ``` # cd /data/software # cp docker-compose /usr/local/bin # chmod a+x /usr/local/bin/docker-compose # ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # docker-compose --version //查看是否成功 ``` ## 2.部署项目 ##### 2.1、准备docker-compose编排配置文件 上传webapp.zip到/data/software,解压缩 ``` # mkdir /data/docker/webapp # unzip webapp.zip -d /data/docker/webapp ``` ##### 2.2、准备前端文件 上传api-dist.zip和etl-dist.zip 到/data/software,解压缩 ``` # mkdir -p /data/webapp/{datamap,www,uploads} # unzip api-dist.zip -d /data/webapp/datamap # unzip etl-dist.zip -d /data/webapp/www ``` ##### 2.4、准备大数据计算框架seatunnel依赖组件库 上传apache-seatunnel-2.3.2-bin.tar.gz 到 /data/software,解压缩 ``` # mkdir -p /data/webapp/bigdata # tar -zxf apache-seatunnel-2.3.2-bin.tar.gz -C /data/webapp/bigdata ``` ##### 2.5、后端docker项目和组件镜像安装 上传所有项目和组件的镜像tar文件到/data/software,然后执行下面命令安装镜像 ``` #docker load < redis-5.0.tar #docker load < nginx-1.23.tar #docker load < mysql-8.tar #docker load < rocketmq-4.4.0.tar #docker load < gmetry-etl-[version].tar #docker load < gmetry-system-[version].tar #docker load < gmetry-xxljob-[version].tar #docker load < api-gateway-[version].tar #docker load < api-cgi-[version].tar #docker load < api-client-[version].tar ``` ##### 2.6、启动后端docker项目 项目启动必须按照顺序【每一个步骤启动完成后,使任务完全启动成功后再执行下一个步骤】: ``` 1、创建docker网桥 #docker network create net_webapp #docker network ls #查看网桥 2、启动mysql/redis/mq # cd /data/docker/webapp # docker-compose up -d mysql redis rocketmq rocketmqBroker 3、启动项目模块 -> 【注意:启动该项目之前,请先修改3.2】 # cd /data/docker/webapp # docker-compose up -d gmetry-xxljob gmetry-etl gmetry-system api-gateway api-cgi api-client 4、最后启动nginx # cd /data/docker/webapp # docker-compose up -d nginx ``` ## 3.项目特殊说明 ##### 3.1、修改了api-cgi的nginx端口,需要同时修改api-gateway项目的配置 ``` # cd /data/docker/webapp # vim docker-compose.yml 找到文件中"--api.domain=",修改对应端口。 //修改完成后,需要重启api-gateway容器 # docker-compose up -d api-gateway ``` ## 4.验证是否部署成功 浏览器打开: ``` #ETL项目 http://10.10.15.26:7070 #数据门户项目 http://10.10.15.26:8080 ``` 如果正常打开页面,并且验证码也显示,使用账号密码登录成功即为正常。 # 二、服务器27 服务器IP:10.10.15.26 部署内容:大数据计算引擎和相关组件 > 项目目录结构说明: 1、flink目录:/data/bigdata/flink-1.15.4 2、datax执行目录:/data/bigdata/datax 3、datax运行时目录:/data/bigdata/datax_data 4、flink计算引擎上传文件目录:/data/bigdata/uploads 5、部署文件临时存放位置:/data/software ## 1、安装jdk1.8 上传jdk-8u251-linux-x64.tar.gz 到 /data/software,解压缩 ``` # tar -zxf jdk-8u251-linux-x64.tar.gz -C /usr/local //配置环境变量[最后添加2行] # vim /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0_251 export PATH=$PATH:$JAVA_HOME/bin # source /etc/profile ``` ## 2、安装启动flink-1.15.4 上传flink-1.15.4-bin-scala_2.12.tgz 到 /data/software,解压缩 ``` # unzip flink-1.15.4-bin-scala_2.12.tgz -d /data/bigdata //启动flink # cd /data/bigdata/flink-1.15.4 && sh bin/start-cluster.sh //停止flink # cd /data/bigdata/flink-1.15.4 && sh bin/stop-cluster.sh ``` ## 3、安装datax 上传datax3_20230922.tar.gz 到 /data/software,解压缩 ``` # tar -zxf datax3_20230922.tar.gz -C /data/bigdata //注意:需要手动添加datax.py的可执行权限 # chmod a+x /data/bigdata/datax/bin/datax.py ```