查看应用启动错误
错误描述
1 应用重启后,起不来 2 应用的状态始终是未启动 3 ide启动不起来
处理步骤
手工执行应用初始化,看错误信息,根据错误信息解决问题
获取资源ID
应用启动不起来,在应用服务管理中找到应用的服务名
ide启动不起来,打开ide,复制url中的域名
用system登录控制台,打开运维管理——REDIS管理
点击 Show All
点击POOL_DOMAIN_LINK_RESOURCE右侧的view图标
搜索服务名,Value中的值即为资源ID,复制这个资源ID
执行应用初始化
用system登录控制台,打开资源管理——池管理
- 应用启动不起来,点生产池,选择类型为WEX5_PROD的池
- ide启动不起来,点开发池,选择类型为WEX5_IDE的池
点详细按钮
找任意一个服务为就绪的池,点详细按钮
点详情按钮
点app-init
点终端按钮,打开命令行
输入应用初始化命令
source /usr/local/bin/init-default-env.sh
init.sh 资源ID
本例为
source /usr/local/bin/init-default-env.sh
init.sh zx0416/255b5f40-1ced-4568-863a-4c997fe4f972
应用初始化命令输出如下
看完日志后删除pod
为了不影响这个池的后续使用,删除池,池会自动重建
已知的几种错误
1 解压用户主资源失败或网关连接失败
日志中显示解压用户主资源失败,或网关连接失败。执行下面的命令(第一句表示不使用缓存),看看初始化是否成功
export NO_CACHE=true
source /usr/local/bin/init-default-env.sh
init.sh 资源ID
如果成功,清除缓存后,即可正常访问,清除缓存的方法是执行下面的命令
source init-default-env.sh
curl -X DELETE -I -m 10 -f $RES_SERVICE_URL/console-resource/resource/delete/资源ID/resservice密码
其中resservice密码的获取方法是进入kube控制面板,选择 newdao-console 名空间,打开 pods ,搜索 resservice,打开池,找到 resource_passwd
2 SQL错误,违反约束
日志中出现如下的错误,说明自动插入数据时违反了唯一约束,需要手动修改数据:
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 'entry' for key 'uni_manager_service_name'
修改方法如下:
- 使用租户管理员,在应用/服务管理中,点击应用右侧的资源按钮,进入业务数据库
- 在数据库管理页面,打开报错的数据表(本例为manager_service),找到会出现重复的数据进行修改(本例中“企业门户”那一行记录的id必须是entry,编辑数据,将id值修改为entry)
- 再次执行应用初始化,查看是否正常
3 模板已被删除或模板路径无效
日志中出现如下图的错误
如果是ide启动不起来,可以恢复为上一个资源,方法是进入console数据库,打开app_resource和app_res_storage表,其中app_id是资源id的后半部分,从app_res_storage表中找到前一个资源,将id写入app_resource表的app_res_id列,app_res_version写入app_resource表的app_res_version列。换成上一个资源后,打开ide看看能否打开。
如果是出现了共享存储满的情况,导致应用打不开,需要重建nexus索引,参考重建nexus索引,重建nexus索引后,重启应用即可
4 没有项目文件
日志中出现如下图的错误
这种情况的原因是:新建的应用必须由租户管理员打开一次,其他开发者才能打开
5 git clone 远程仓库失败
日志中出现如下图的错误
这种情况查看git,会发现project members里面没有当前开发者,所以获取不到git资源。
用租户管理员登录控制台,在应用的团队中删除开发者,重新添加即可
6 git有问题
日志中出现如下图的错误
在浏览器中访问 http://控制台域名/service/app/config/资源ID,访问出错 get token error ::{"msg":"java.net.ConnectException: Connection refused (Connection refused)","code":"001001","success":false}
说明git出问题了,在kubu控制面板中看git的日志解决问题
7 网关2连接失败
日志中出现网关2连接失败
看gateway的日志,如果是连接数据库失败,就检查应用服务管理-门户-资源中kongdb2的连接情况
init没有错误,不能启动的原因
在redis中看不到init的记录
两种可能
- ip解析不对
正常情况下,ping应用的域名和控制台域名得到的ip应该一致,不一致则要看是否配置了ingress,如果没有配置就需要检查dns解析
- https的证书不对