首页 > HZERO Docker版, 默认 > HZERO PaaS平台-Docker版demo笔记(四)添加服务&问题修改

HZERO PaaS平台-Docker版demo笔记(四)添加服务&问题修改

2025年12月24日

本文是针对《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

  1. 种子数据初始化:
    #拷贝种子数据:

$ 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

  1. 种子数据初始化:
    #拷贝种子数据:

$ 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联系作者
点击查看发表过的所有文章...
本文永久链接: http://blog.retailsolution.cn/archives/4979

 

 

对本文的评价:

 

 

分类: HZERO Docker版, 默认 标签:
本文的评论功能被关闭了.