迁移服务器(记录贴)

@
目录

背景

公司两台生产服务器要到期了,计划迁移到华为云上,一共花了将近一个月,踩了很多坑,过来记录下

nacos重启不起来

之前我是用直接kill掉8848这个端口号来关nacos的,然后发现一直启动不起来,最后发现需要执行脚本关闭才行,命令如下

sh shutdown.sh // 关闭
sh start.sh // 启动

请求服务接口一会就会挂

之前我启动nacos使用的命令是这个sh startup.sh -m standalone然后发现接口一会儿就会挂,重发服务就好了但是顶不了多久,最后排查下来是我启动nacos的命令有问题,我那老的是以单机的方式启动,就sh start.sh启动就行了,他会自动读取你没有修改名字的配置文件的,并且nacos跑起来的前提是要先把上面的mysql跑起来才行

请求服务接口20s才返回

我尝试请求接口发现都是20s才返回,每次都是,最后排查下来是gateway那绑定了过滤器,删除了就好了,暂时用不上就先注释了

gateway一直起不来,报错说栈相关问题

最后排查下来是我shop相关的服务没有上test,把那块配置代码先注了,后期上去了再加上吧

没有找到core服务

上午一直报没有找到core服务,查看日志说nacos请求不到172.xx.xx.124:8848,找了所有配置,最后发现cluster那边,里面的ip没有改,改好了,最后定位到内存不够了,关掉个java服务就好了

请求几次必有一次1min整才返回

一个问题烦了我三天,就是请求core的一个接口几次必有一次是要1min整才能返回给我,我一开始以为是mysql原因,找了阿里云技术,帮忙看了请求的时序日志都没有问题,然后我打日志发现请求的mysql返回确实没有问题,然后我找华为云帮我看下nacos注册的怎么都是老的内网地址,然后帮我把两台机子的内网都改成了原来的内网地址,但是那个接口的问题依然存在,我甚至排查了gateway日志还是没啥结果,然后我便细究到nginx,最后发现负载均衡到两个服务器时都写得是外网ip,然后对应的端口号也是属于外网ip的端口号,我再看看安全组端口号没有开,最后我开了下端口号正常了。回想下终于领悟到为啥之前那个运维地址都是内网地址不是外网地址了,这样其实省了一步去安全组开端口号的操作,所以以后只要服务器间的调用一定要用内网地址,能省时间和功夫。

总结:迁移服务器,坑比较多,需要重点掌握整个访问请求的链路,然后参照日志观察问题点在哪,最后定位到问题点了就好搞了。