事情的起因是这样的,部门经理让我部署一下JVS资源共享框架,项目的地址是在这里
项目资源地址
各位小伙伴们做好了,我要开始发车了,全新的“裂开之旅”
简单展示一下如何部署JVS文档
直达链接
撕裂要开始了
本来服务启动的好好的,但是我没有发现居然文件上传存在问题直到。。。。
然后我简单尝试了一下发现 文件无休止的在上传中
然后接下来开始了我全部的探索摸索之旅
首先我使用了本地部署的服务验证一下这个是不是数据非开源功能,但是很不幸这个是开源的
然后我对比了一下各自的服务信息
通过上述的对比我发现不能说很像,可以说几乎是一模一样
当然这里我怕我眼花了,然后使用了GPT来帮我进行对比。
说到了这里要是不知道如何使用或者想购买gpt4账号的小伙伴可以通过主页的二维码扫码购买或者也可以后台私信我购买。
然后怀疑是不是minio出现了问题
查看一下文件有没有存储进minio
1. 使用MinIO的Web界面
MinIO提供了一个用户友好的Web界面,你可以通过浏览器访问来查看存储的文件。由于你的容器端口映射设置为0.0.0.0:9000-9001->9000-9001/tcp
,你可以通过访问http://<你的服务器IP>:9000
来进入MinIO的Web界面。在那里,你可以登录(需要知道访问凭据)并浏览任何存储桶和文件。
教大家一下如何查看minio的账号和密码
3. 环境变量查找
如果MinIO是在Docker容器中运行的,账号和密码可能被设置在Docker的环境变量中。你可以查看这些环境变量,方法是进入到运行MinIO的容器内部,执行以下命令:
docker exec -it f83fdc3282fa env
查找可能包含MINIO_ACCESS_KEY
和MINIO_SECRET_KEY
的环境变量,这两个通常用作MinIO的账号和密码。
登录上去查看之后果然没有存储进去
正常本地虚拟机启动的服务查看是存在文件存储的
查看服务中的日志信息
接下来就是排查是不是文件存储服务启动的有问题,很多大牛都说服务使用有问题重启可以解决99%的问题
查看一下文件服务包含哪些微服务
查看上述配置文件将所有服务stop之后,rm之后然后删除镜像重新下载启动
步骤完成之后再次启动
执行上述操作
结果还是一样
继续排查是否是基础服务出现问题
一样的思路还是查看基础服务的配置文件,将服务停止之后清除容器和镜像之后,重新之后上述教程中的服务启动命令之后再次访问尝试问题是否解决
查看文件管理服务的日志信息排查是什么原因
在往下翻阅的过程中发现,之所以文件上传不上是连接不上minio文件存储服务
查看端口是否存在监听
由于没有安装这个工具无法检测所有安装了一下工具
最后突然想起来查看一下防火墙状况
防火墙居然是开启的
尝试关闭防火墙之后再次尝试是否解决
问题完美解决
后续想着既然服务中防火墙是开启状态一定是有原因
因此给服务器防火墙添加一下9000端口的访问规则
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-all
删除9000端口规则
firewall-cmd --zone=public --remove-port=9000/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-all
问题最后的反思
- 首先对于第一次安装陌生的项目,问题排查起来没有思路很正常也不用太气馁。
- 对于日志信息的报错一定要看全面,千万不能看一半剩下一般凭着感觉盲猜。比如这次如何第一次就像文件存储的微服务报错日志看全知道是minio连接不上的原因就可以早点从网络角度去解决而不是一味的把排查方向访问服务是否健康运行角度排查.
- 需要多磨练多经理,丰富自己的线上问题排查经验。
最后说一句(求关注,别白嫖我)
如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描下发二维码关注一下,您的支持是我坚持写作最大的动力。
求一键三连:点赞、转发、在看。
关注公众号:【舒一笑的架构笔记】,在公众号中回复:面试、代码神器、开发手册、时间管理有超赞的粉丝福利,另外回复:加群,可以跟很多BAT大厂的前辈交流和学习。好了坐稳了,笑哥开始发车了。