HZERO PaaS平台-Docker版demo笔记(四)添加服务&问题修改
本文是针对《HZERO PaaS平台组装笔记十四:继续验证测试》的问题在Docker版Demo中做对应的跟进工作日志
问题1、平台/调度任务/任务调度中心,打开时报错:
原因分析:hzero_platform.iam_permission表中缺调度服务模块的相关权限记录。
解决方案:去平台/开发管理/开发管理/系统工具/刷新权限 去手动刷新下IAM权限。
刷新报错:
针对此报错的解决方案:删掉临时记录,再重新刷新:
# delete from hzero_platform.iam_permission where service_name =’hzero-scheduler’
再次刷新就成功了:
再测:平台/调度任务/任务调度中心,打开就正常没有错误了:
问题2、事件管理服务未安装
解决方案:
制作事件管理服务的docker镜像
==================================================
16、制作HZERO PaaS 平台 1.12版本的Demo环境的HZERO 微服务-事件管理服务 ps-event 镜像
==================================================
二、目标环境:
环境:WSL:Ubuntu-22.04系统
5、建立hzero-event-docker目录
$ cd /d01/hzero-dockers
$ mkdir hzero-event-docker
6、拷贝Jar包到目标环境
#在windows powershell 中执行
$ cp \\wsl.localhost\Ubuntu-22.04-hzero\d02\hzero\project\ps-event\target\ps-event.jar \\wsl.localhost\Ubuntu-22.04\d01\hzero-dockers\hzero-event-docker\
7、编辑Dockerfile
$ cd /d01/hzero-dockers/hzero-event-docker
$ vi Dockerfile
————————————-
FROM registry.cn-shanghai.aliyuncs.com/c7n/javabase:17
COPY ps-event.jar /ps-event.jar
ENV JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8 -Duser.language=zh -Duser.region=zh_CN -Duser.country=zh_CN
ENTRYPOINT exec java -XX:+UnlockExperimentalVMOptions $JAVA_OPTS $REFLEC_OPTS $AGENT $SKYWALKING_OPTS -jar /ps-event.jar
————————————
8、编辑docker-compose.yml
$ vi docker-compose.yml
———————————-
## 要求Docker/Docker CE >= 19.x
services:
hzero-event:
image: hzero-event-jk-demo:1.12
container_name: hzero-event
ports:
– “8135:8135”
– “8136:8136”
environment:
– JAVA_OPTS=-Xms250m -Xmx250m -Dspring.profiles.active=dev
deploy: # 限制容器总内存(Docker Compose v2.3+)
resources:
limits:
memory: 500m # 容器最大内存(建议为 JVM 内存的 1.5~2 倍)
networks:
default:
name: hzero-demo
external: true
———————————-
9、构建Docker镜像
$ cd /d01/hzero-dockers/hzero-event-docker
$ docker build -t hzero-event-jk-demo:1.12 .
构建成功:
$ docker images | grep event
- 种子数据初始化:
#拷贝种子数据:
$ cp -r \\wsl.localhost\Ubuntu-22.04-hzero\d02\hzero\project\ps-event\resource-package \\wsl.localhost\Ubuntu-22.04\d01\hzero-dockers\hzero-event-docker\
#更改resource-package\application.yml 把数据库连接改一下:
mysql-hzero -> localhost
$ cd /d01/hzero-dockers/hzero-event-docker/resource-package
$ bash database-init.sh
访问:http://localhost:8099/
执行1和3, 成功完成
11、测试Docker镜像(测试之前先确保 redis-docker 和 mysql-docker,hzero-register , hzero-admin容器已经启动):
$ cd /d01/hzero-dockers/hzero-event-docker
$ docker compose up -d
看日志:docker logs hzero-event
看起来是正常启动了
http://localhost:8000注册中心中可见hzero-event服务
测试:
路径:平台菜单/事件管理/事件源定义
功能正常,服务地址改成实际部署环境的:
问题3、API测试数据不全
路径:平台工作台菜单/服务监控/API测试
发现有些已经安装的服务在这里没有显示,比如hzero-license
解决方案:
1、调整hzero-admin的docker-compose.yml中的启动内存,-Xmx 从300M调整到800M, 内存上限提高到memory: 1600m
重启hzero-admin服务
- 在平台治理注册hzero-license服务:
路径:平台菜单/平台治理/服务管理
新建hzero-license服务路由注册
调整后都可以看到:
问题4、授权信息查看报错
路径:平台工作台菜单/系统管理/授权信息
查看报错,报404错误
解决方案:先尝试刷新license服务的iam权限
刷完后再试,就OK了:
问题5、权限组显示错误
路径:平台菜单/系统管理/数据权限控制/权限组管理
分析:这个问题是 hzero-platform 少依赖了platform-dpc-saas,原系统的hzero-platform已经添加依赖,从新构建了jar,只需要拷贝过来重建Docker镜像就好了。
- 目标环境:
环境:WSL:Ubuntu-22.04系统
拷贝Jar包到目标环境
#在windows powershell 中执行
$ cp \\wsl.localhost\Ubuntu-22.04-hzero\d02\hzero\project\ps-platform\target\ps-platform.jar \\wsl.localhost\Ubuntu-22.04\d01\hzero-dockers\hzero-platform-docker\
9、构建Docker镜像
$ cd /d01/hzero-dockers/hzero-platform-docker
$ docker compose down
$ docker build -t hzero-platform-jk-demo:1.12 .
$ docker compose up -d
#再次测试,就OK了:
问题6、jar包管理界面打开报错:
路径:平台菜单/开发管理/个性化管理
点击 jar包管理,报错:The route you visited does not exist or the related service is not installed
分析:这个问题是缺少hzero-jar服务,该服务在原系统应完成jar构建,只需要拷贝过来构建docker镜像即可:
解决方案:
制作事件管理服务的docker镜像
==================================================
制作HZERO PaaS 平台 1.12版本的Demo环境的HZERO 微服务-事件管理服务 ps-jar 镜像
==================================================
二、目标环境:
环境:WSL:Ubuntu-22.04系统
5、建立hzero-jar-docker目录
$ cd /d01/hzero-dockers
$ mkdir hzero-jar-docker
6、拷贝Jar包到目标环境
#在windows powershell 中执行
$ cp \\wsl.localhost\Ubuntu-22.04-hzero\d02\hzero\project\ps-jar\target\ps-jar.jar \\wsl.localhost\Ubuntu-22.04\d01\hzero-dockers\hzero-jar-docker\
7、编辑Dockerfile
$ cd /d01/hzero-dockers/hzero-jar-docker
$ vi Dockerfile
————————————-
FROM registry.cn-shanghai.aliyuncs.com/c7n/javabase:17
COPY ps-jar.jar /ps-jar.jar
ENV JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8 -Duser.language=zh -Duser.region=zh_CN -Duser.country=zh_CN
ENTRYPOINT exec java -XX:+UnlockExperimentalVMOptions $JAVA_OPTS $REFLEC_OPTS $AGENT $SKYWALKING_OPTS -jar /ps-jar.jar
————————————
8、编辑docker-compose.yml
$ vi docker-compose.yml
———————————-
## 要求Docker/Docker CE >= 19.x
services:
hzero-jar:
image: hzero-jar-jk-demo:1.12
container_name: hzero-jar
ports:
– “8055:8055”
– “8056:8056”
environment:
– JAVA_OPTS=-Xms250m -Xmx250m -Dspring.profiles.active=dev
deploy: # 限制容器总内存(Docker Compose v2.3+)
resources:
limits:
memory: 500m # 容器最大内存(建议为 JVM 内存的 1.5~2 倍)
networks:
default:
name: hzero-demo
external: true
———————————-
9、构建Docker镜像
$ cd /d01/hzero-dockers/hzero-jar-docker
$ docker build -t hzero-jar-jk-demo:1.12 .
构建成功:
$ docker images | grep jar
- 种子数据初始化:
#拷贝种子数据:
$ cp -r \\wsl.localhost\Ubuntu-22.04-hzero\d02\hzero\project\ps-jar\resource-package \\wsl.localhost\Ubuntu-22.04\d01\hzero-dockers\hzero-jar-docker\
#更改resource-package\application.yml 把数据库连接改一下:
mysql-hzero -> localhost
$ cd /d01/hzero-dockers/hzero-jar-docker/resource-package
$ bash database-init.sh
访问:http://localhost:8099/
执行1和3, 成功完成
11、测试Docker镜像(测试之前先确保 redis-docker 和 mysql-docker,hzero-register , hzero-admin容器已经启动):
$ cd /d01/hzero-dockers/hzero-jar-docker
$ docker compose up -d
看日志:docker logs hzero-jar
看起来是正常启动了
http://localhost:8000注册中心中可见hzero-jar服务
测试:
路径:平台菜单/开发管理/个性化管理
点击 jar包管理,可正常显示:
但是后来有一次重启之后,服务报错:
分析:hpfm_tenant表是在hzero_platform这个数据库schema下面的,正常要加上前缀才行,这里没有加前缀,产研说可能是数据源缓存问题。
解决方案:刷新 “数据源缓存”
刷新后,再重启hzero-jar服务就正常了。
问题7、接口平台API注册报404错误
路径:平台菜单/接口平台/API配置/API注册
这个菜单打开会报404错误
分析:跟产研沟通,在1.8版本中暂不提供这个功能,这个是在1.9以后的大版本中规划的API维度的一个界面。
解决方案:暂时先禁用掉该菜单。
在 平台菜单/系统管理/菜单管理/菜单配置:
问题8、接口平台API权限汇总查看报404错误
路径:平台菜单/接口平台/API权限/API权限汇总查看
这个菜单打开会报404错误
分析:跟产研沟通,在1.8版本中暂不提供这个功能,这个是在1.9以后的大版本中规划的一个功能。
解决方案:暂时先禁用掉该菜单。在 平台菜单/系统管理/菜单管理/菜单配置:
问题9: 集成平台/服务编排/应用连接器 打开页面一闪而过,白屏
路径:平台菜单/服务编排/应用连接器/应用连接器
分析:
这个问题在原系统已解决,是前端模块缺失的问题,把前端文件拷贝过来就可以
解决方案:
#windows powershell:复制前端文件 和nginx配置文件
$ cp -r -Force \\wsl.localhost\Ubuntu-22.04-hzero\d02\hzero\front\dist \\wsl.localhost\Ubuntu-22.04\d01\hzero-dockers\volumes\nginx\
拷贝完成后,再测:可正常显示:
问题10: hzero-gateway 服务日志太多的问题
这个问题在原系统已经改了,把日志级别改到info了,只需要把jar拷贝过重构docker镜像即可。
#拷贝Jar包到目标环境
#在windows powershell 中执行
$ cp \\wsl.localhost\Ubuntu-22.04-hzero\d02\hzero\project\ps-gateway\target\ps-gateway.jar \\wsl.localhost\Ubuntu-22.04\d01\hzero-dockers\hzero-gateway-docker\
9、构建Docker镜像
$ cd /d01/hzero-dockers/hzero-gateway-docker
$ docker build -t hzero-gateway-jk-demo:1.12 .
问题11: 接口平台的健康检查定时任务导致日志文件太多的问题
这个定时任务,原来的种子数据中设定的是每30秒检查一次,会产生一个日志文件,这导致文件系统中的日志文件太多,日志表记录条多,文件记录表中记录太多。
经过测试,只是停掉这个调度任务不够,把日志策略改成仅记录异常也不够,每次重启就会恢复到全量记录。所以需要把自动初始化这个开关关掉,保存,然后再停掉这个任务。
关于作者:
| 昵称:Jack.shang 档案信息:jack.shang 程序员->项目经理->技术总监->项目总监->部门总监->事业部总经理->子公司总经理->集团产品运营支持 联系方式:你可以通过syfvb@hotmail.com联系作者 点击查看Jack.shang发表过的所有文章... 本文永久链接: http://blog.retailsolution.cn/archives/4979 |
对本文的评价:
