You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Liferay CE 7.0.4 GA5启动冻结问题排查求助

Liferay 7.0.4 GA5单节点启动冻结故障排查与解决

故障原因排查方向

  • Marketplace安装缓存异常:尽管集群部署包一致,单节点可能存在本地安装残留或损坏。对比故障节点与正常节点的${LIFERAY_HOME}/osgi/marketplace目录,检查是否有损坏的lpkg文件、临时安装文件,或目录结构/文件哈希值不一致。
  • Spring上下文初始化阻塞:结合Catalina日志终止点与线程dump的等待线程,重点定位阻塞源:
    • 分析线程dump中WAITING状态线程的锁资源,判断是数据库连接、文件锁还是分布式缓存锁导致等待
    • 验证故障节点与数据库的连通性,检查数据库端是否对该节点IP有连接限制,或连接池是否耗尽
    • 排查分布式缓存(如Ehcache)配置,确认该节点是否无法获取集群缓存锁而阻塞
  • 文件系统权限/空间问题:检查RedHat系统下Tomcat运行用户对${LIFERAY_HOME}的data、osgi、temp目录是否有完整读写权限;同时确认/tmp目录剩余空间,Liferay初始化依赖临时目录生成文件,空间不足会导致冻结。
  • JVM参数不一致:对比故障节点与正常节点的JVM启动参数(堆内存、GC参数、系统属性),比如是否存在堆内存不足导致的GC长时间停顿,或自定义系统属性干扰了Liferay初始化流程。

解决方向

  • 清理并同步Marketplace缓存:
    1. 停止故障节点Tomcat
    2. 删除${LIFERAY_HOME}/osgi/marketplace下所有文件及子目录
    3. 从正常节点复制完整的marketplace目录到故障节点
    4. 重启节点,观察是否仍重复提示重启安装
  • 解除Spring上下文阻塞:
    • 若线程dump显示等待数据库连接:检查数据库端的IP白名单,重启Tomcat连接池或调整连接池最大连接数参数
    • 若为分布式缓存锁问题:临时将故障节点的缓存配置改为本地模式(修改portal-ext.properties中的缓存相关参数),启动后再逐步恢复集群缓存配置
  • 修复文件权限与空间:
    • 执行chown -R [tomcat运行用户]:[用户组] ${LIFERAY_HOME},确保目录权限与正常节点一致
    • 清理/tmp目录冗余文件,释放足够空间
  • 统一JVM参数:
    • 复制正常节点catalina.sh或setenv.sh中的JVM参数到故障节点,确保-Xmx、-XX:MetaspaceSize等核心参数完全一致

内容的提问来源于stack exchange,提问作者KRISTIJAN TOMASINI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:20:20