本帖最后由 15234496108 于 2023-8-21 09:33 编辑
【首先注意:在迁移过程不能随意压缩解压缩迁移资源包,不同压缩软件或压缩方式,容易引起文件损坏!!!】
一、简介
使用ThingJS-X迁移时,操作如【图1】所示,也就是在“导出数据”和“导入数据”过程中出现的问题,此文将曾经出现的迁移问题列举整理,导致迁移问题的现象、原因、排查步骤以及解决方法。 迁移涉及客户端(浏览器在哪哪就是客户端)、服务端(部署包在哪部署哪就是服务端)、数据库、及迁移文件还有客户端和服务端之间的网络几个要素。 故现象、原因、排查步骤以及解决方法也会从几方面进行介绍。 为方便了解问题发生过程以及排查顺序,几个要素在迁移过程所在的流程节点如下面图所示。 二、问题发生的原因
2.1 迁出问题
客户端 1.浏览器所在客户端电脑硬盘空间不足,导致迁出失败。 服务端 2.服务所在服务端森X服务和文件权限不匹配导致导出失败; 举例:服务端的启动用户为uinnova,非root,但导出的文件夹里有所属于root的文件夹,uinnova用户没有root文件的 权限。 3.服务端硬盘空间不足。(当ES数据库在硬盘空间达到95%及以上时会锁定数据库此时无法进行操作) 4.服务端内存不足。(将数据库文件及产品资源文件打包压缩成压缩包需要内存,内存不足时打包会失败) 网络 5.网络超时,比如网速慢、比如网络路由中使用了第三方组件Nginx,Nginx超时。 2.2 迁入问题客户端1.浏览器使用了谷歌翻译,然后在这个传统下导出迁移包然后在导入另一个环境。 服务端 2.服务端硬盘空间不足。 3.森X服务Java运行内存不足。 网络 4.网络超时,比如网速慢、比如网络路由中使用了第三方组件Nginx,Nginx超时。 迁移文件 5.迁移包不符合规则。 6.迁移包太大。 三、同意排查和处理思路 1、检查浏览器版本比如,Chrome浏览器需要98以上,浏览器版本太低迁入后可能显示的页面样式有问题。 检查方法: 进入浏览器设置查看版本信息,不同浏览器不同以谷歌浏览器为例。 解决方法:升级浏览器 2、检查迁移包大小 一般迁移包太大发生在迁入过程,太大时导入时有如下提示报错,一般整个环境迁移包有2g+算大,其中模型文件对迁移影响较大一般有1g+算大。
检查方法: 一般整个环境迁移包有2g+算大,其中模型文件对迁移影响较大一般有1g+算大。 处理方法: 1、在迁出时分模块迁出,然后分模块迁入。大部分情况这种处理方式最简单,并且能解决大部分迁移问题。或者 2、修改/uino/thingjsx-server/bin/start.sh文件,把-Xms -Xmx改大一点(两个值必须保持一致),改完重启森X即可 3、检查服务器/客户端的硬盘/内存空间相关信息:一般要求内存剩余空间大于等于2GB,硬盘空间使用率不超过85%。 Linux系统检查方法: a.检查内存使用情况:free -h,画红框部分free大于2GB一般说明处于安全状态 b.检查硬盘使用情况:df -h,画红框部分已用%小于85%一般说明处于安全状态。 Linux硬盘满处理方法: Windows系统检查方法: a.检查内存使用情况:ctrl + alt +del 三个键一起按,点击任务管理器,空余部分大于2GB一般说明处于安全状态。 b.检查硬盘使用情况:我的电脑,计算下使用率%小于85%一般说明处于安全状态。 Windows硬盘满处理方法: 清理磁盘空间,然后分别关闭森X服务,ES数据库,启动ES数据库,在启动森X服务。 4、网络相关(超时)问题,检查网络及网络相关组件 检查方法: 此类问题一般伴随,在浏览器输入F12,观察console有 a.time-out字样 b.network error 字样 c.net::err_content_decoding_failed或net::err_failed 200 字样 以报错net::err_failed 200为例 解决方法: a.对于Nginx超时。
对于零代码平台修改Nginx配置如下,修改proxy_read_timeout 以及proxy_send_timeout 后面的数字。 b.对于Tomcat超时。 打开ThingJS-X系统的配置文件,路径如下下 :Thing-X\uino\ThingJSX\thingjsx-server\conf\application-system.properties设置超时时间,改大一些: 比较方便的做法是两个都更改。 特殊情况(发生频率很低),森x前端接口配置的超时时间问题 解决方法: 需要修改/uino/thingjsx-server/src/main/webapp/auth/js目录下的chunk-vendors.xxxxx.js文件,搜索timeout,将timeout=36e5改为timeout=36e6后可以迁出。 5、检查权限 检查方法: 一般权限问题发生在迁出过程,点击导出数据,界面会提示write out file error如下图所示,此时需要检查服务启动权限和文件权限。 检查森X服务启动权限和文件权限方法,如果两个图红框部分不匹配说明权限不一致,需要将权限变成一致,一般出现权限不匹配的背景是用root启动过森X服务然后又使用其他用户启动过森X服务,通常做法是重新用root方式启动森X服务。 a.检查文件权限。 输入ll,红框内有root表示文件权限是root; b.检查森X服务权限 输入 ps -ef|grep thing; 处理方法: 将文件和服务的用户权限变成一致,比较简单的做法是,使用root启动森X服务。 6、ES状态只读 一般权限问题发生在迁入过程,点击导入数据,本来服务器中硬盘空间趋近于95%,然后此时继续导入数据,服务器硬盘空间很有可能超过95%,此时森X服务会停止运行,并且启动不成功,此时需要检查ES状态。 检查方法: - 查看健康状态 curl -u admin:Admin@123 http://ip:9200/_cat/health; -返回[FORBIDDEN/12/index read-only / allow delete (api)]; 说明ES状态为只读。
解决方法
|