栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

服务器执行完 yum update 项目没了 升级centos系统架构

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

服务器执行完 yum update 项目没了 升级centos系统架构

一个 yum update 引发的错误 初遇线上崩溃

上个星期,小编坐在电脑面前,有点无聊,突然想到docker这个容器还是挺好用的,由于微服务的兴起,docker技术也变得火爆起来,docker作为一种容器技术主要用来替代虚拟机作为应用部署的解决方案,然后我就在putty上操作安装docker,当输入yum update之后,newbee_mall直接蹦了。

关于Docker的简介

1.镜像

docker镜像是一个特殊的文件系统,能够提供容器运行时所需的资源。如果接触过dockerfile的同学应该知道,我们构建镜像时都会选择一个基础镜像,这说明docker镜像是一层层进行构建的,一个镜像往往由多层文件系统组成。

2.容器

镜像是静态的,镜像运行起来的时候就变成了容器。容器相当于一个完整的操作系统,他可以有自己的文件系统,自己的网络配置。假如我们使用一个mysql容器进行存储数据,这时数据会存储在当前容器的存储层,存储层的生命周期和容器一样,容器消亡时,其存储层也不在了,所以我们在使用这种需要存储数据的容器时,往往都需要指定数据卷Volume(挂载一个宿主机的文件目录),这样即使容器删除,数据也不会消失。

3.仓库

顾名思义,docker仓库即为存储镜像的地方,我们可以将镜像上传至仓库,也可以从仓库下载镜像。这个比较简单,没什么好说的。

这里就不详细介绍docker,直接上连接docker介绍 开始操作 yum update(出现问题)

小编直接在网上找了篇博客Docker安装,用putty连上自己的centos7 ,然后,我没注意看,直接yum update,升级了centos7的核心和系统架构,然后我发现newbee_mall 这个项目访问不了了,当时我的内心慌得一批,我第一次遇到这种线上问题,头脑里毫无头绪,想google都不知道从哪个地方开始。

快速定位问题 我第一时间去tomcat中的webapps中查看项目,发现项目已经没有了,然后我以为是项目没有了,又传了一份war包到webapps里面,但是项目依旧没有起来,这个时候我开始仔细查看异常信息,以及查看tomcatlog信息(见下图)。异常信息描述的是连接数据库进行查询的时候出来问题,也有可能是mapper文件写错了、没有加载mapper文件。我在本地跑了一遍,将mapper文件仔细检查了一遍,没有找到问题,这个时候,我打开navicat连接数据库,结果直接连接失败(2003),到这我才意识到是MySQL出了问题。然后我进入putty,直接mysql -uroot -p 输入密码,居然进不去,这波操作让我想起了之前7.31号那次,数据库被黑客黑了,这次故居又是被黑了,至此才找出问题出在数据库。 解决问题 我修改my.cnf 文件,在最后面加入了一行命令(skip-grant-tables),跳过密码登录,然后进去发现MySQL里面的数据全都没有了,这个时候我果断卸载数据库,修改数据库密码、端口号(后来还是使用3306),然后将重新将数据库恢复过来。又在IDEA中将数据库密码修改成最新的,然后 maven clean、maven compile、maven package 找到生成war包的位置,将war包上传到tomcat下的webapps文件夹下,然后newbee_mall 又重新可以访问了。
nested exception is org.apache.ibatis.exceptions.PersistenceException:
 ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: 
 Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException:
 hikariCP - Connection is not available, request timed out after 30000ms. ### The error may exist 
 in file [/usr/local/tomcat1/webapps/ROOT/WEB-INF/classes/mapper/GoodsCategoryMapper.xml] ### The 
 error may involve ltd.newbee.mall.dao.GoodsCategoryMapper.selectByLevelAndParentIdsAndNumber ###
 The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:
 Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: hikariCP - Connection 
 is not available, request timed out after 30000ms.
总结

1、以后不管做什么,都需要先了解这一步是干嘛的,为什么要这样做,这样做有什么后果,清楚了这些你在去执行相应的操作。
2、当出现问题的时候,首先查看log信息和异常信息,快速定位出现问题的模块,然后选择有效的方法去解决,最后思考总结怎么避免下次再遇到类似的问题
3、所以平常小伙伴需要做好数据库的备份,了解一些网络安全相关的知识

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/911983.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号