记录一哈之前的云计算实验,这个实验可真的是磨人,三天多点的时间完成,没有实验手册,只给任务要求不给实现方法,好多问题都只能自己想办法解决,真叫人头大
专 业 计算机科学与技术 | |
---|---|
姓 名 王远卓 | |
指导教师 余霖 | |
华为账号 hw050349162 |
2022年6月21日
中国 南京
实验要求
系统功能要求
该系统主要通过前端页面和后台服务程序实现简单的在线文件管理功能。功能包括:文档上传、文档在线编辑、全文检索、文档分享、文档点评、文档在线审批和自动归档等。
文件管理系统参考:
https://github.com/sismics/docs
https://gitee.com/github-5407963/docs-pgsql.git
作业要求
本次作业除了要实现基本的文件管理系统ECS高可用部署,还要求通过容器化部署。涉及的技术要求及具体细节如下:
技术要求:鲲鹏ECS、RDS for PostgreSQL、SFS、IMS、ELB、AS、SWR、CCE。
作业提交要求:系统架构图、作业截图。
作业任务
任务1.文件管理系统高可用架构图(10分)
任务2.文件管理系统作业截图(90分)
1 实验说明
说明:本实验中使用到的服务器如下图所示:
在前期ecs-wyz-oa与ecs-wyz-oa2都用过maven和tomcat相关配置,登录到文件系统时两种IP地址都尝试过,其地址分别为:
ecs-wyz-oa:121.28.5.187
ecs-wyz-oa2:124.70.12.83
2文件管理系统高可用架构图
高可用架构图如下所示
3 配置数据库PostgreSQL
使用华为云云数据库RDS for postgres,创建如下所示:
其具体信息如下所示,可以得到内网地址为192.168.0.18
4 安装文件管理系统
首先创建oa服务器
使用XShell连接ecs-oa服务器,如下图所示:
安装maven,如下图所示:
其中变量的配置如下图所示:
从根目录建立项目,其中必须保证安装的jdk版本在11以上才能正常运行,否则报错。使用命令为:mvn clean -DskipTests install
运行结果如下图所示:
运行独立版本进行验证,在docs-web目录下运行
mvn jetty:run
运行结果如下图所示:
说明运行过程正常。
最后,通过在docs-web目录下使用maven生成war文件,为tomcat运行文件系统项目的war,使用一下命令:
mvn -Pprod -DskipTests clean install
成功运行结果如下所示:
运行成功后会在docs-web的target目录下生成docs-web-1.10.war文件,可以在tomcat中配置使用
5 配置Tomcat及应用war包部署
首先配置系统参数,包括连接数据库信息等,如下图所示
数据库的登录如下图所示
Tomcat的安装与使用,将官网中下载的包进行解压安装后,可以使用./startup.sh启动tomcat服务。如下图所示
检查tomcat是否已经启动,如下图所示
验证tomcat运行,通过ip地址进行访问,如下图所示
在docs-web目录下运行mvn -Pprod -DskipTests clean install
得到war文件并将其移动到tomcat的webapp目录下
通过ecs-wyz-oa的IP地址121.36.5.187到文件系统界面,如下图所示:
6 挂载SFS
进入华为云控制台创建文件系统,购买配置如下图所示:
下载安装NFS包,以用于文件系统的挂载
回到文件系统,查看相关信息,并复制挂载指令:
实际执行命令如下所示:
mount -t nfs -o vers=3,nolock 192.168.0.51:/ /root/sfs
通过vi /etc/fstab命令编辑“/etc/fstab”文件,进行相关配置后,通过cat /etc/fstab查看相关信息,如下图所示:
**
7 配置ELB
Elb截图如下图所示
8 配置AS
够买配置如下
AS弹性伸缩实例图如下图所示
9 验证ELB访问
创建镜像img-ecs-oa2
配置好的elb弹性负载均衡的IP地址为121.36.21.52,如下图所示
使用该IP地址,http://121.36.21.52/docs-web-1.10/#/login
登录文件系统如图所示:
文件系统的用户为admin,密码为admin,成功登录后界面如下所示
10 容器化部署
Docker下载与安装,图中的complete表示安装成功:
创建组织并获得临时登录指令
创建组织如下图所示:
登录如下图所示:
用以下命令对需要上传的镜像打标签
Sudo docker tag sismics/docs:latest swr.cn-north-4.myhuaweicloud.com/cloud-wyz/sismics/docs:latest
然后将打完标签的镜像上传:
用以下命令
docker push swr.cn-north-4.myhuaweicloud.com/cloud-wyz/sismics/docs:latest
上传成功如图所示:
上传的镜像如图所示:
此时购买CCE集群,购买配置如下所示:
创建图如下所示:
添加自己的镜像作为容器
创键好CCE集群后,还要建立一个负载均衡,以使外部计算机可以访问该集群提供的服务。集群内连接是集群内部节点的连接,而不能使外部计算机进行访问
此时可以看到CCE集群访问地址为124.70.12.83:8080,在浏览器中输入就可以进入到docs系统中,如下图所示:
使用admin进行登录后就可以进入文件管理系统。
11 部分报错记录
文件系统build报错
由于文件系统teedy需要使用jdk11以上的Java环境,而华为云默认自带的环境为jdk1.8,会导致如下错误
解决方案:是jdk版本落后,需要更新到jdk11以上版本
Jdk安装问题
报错信息为:cannot execute binary file: Exec format error。
解决方案:首先彻底卸载系统自带的jdk1.8,
此处报错
错误原因:缺少npm
报错提示为缺少NPM(Node Package Manager,即node包管理器)
解决办法:安装npm,同时由于使用的ecs为鲲鹏
图片:系统aarch64图
安装好npm后
报错缺少grunt
解决办法安装grunt,使用如下命令
安装grunt命令行(CLI)
npm install -g grunt-cli
安装grunt
npm install grunt --save-dev
最后由于需要在项目建立时使用npm与grunt,还需要将这两个文件软件接到对应的位置,在实验中实际使用代码为:
此后,仍出现报错,报错提示为找不到grunt指令,但是在上一步中的确已经安装grunt,故猜测为环境变量出现问题,参考大量参考文献没有得到解决方案,最后在etc/profile文件中进行修改,如下图所示:
最后能够运行grunt指令,检验如下所示:
非特殊说明,本博所有文章均为博主原创。