Liferay集群

您是否知道有关在Glassfish中安装Liferay集群的任何分步教程?

谷歌找到了这个名为“ 如何安装和配置 – 生命周期 – 集群”的文章

请享用!

我正在处理同样的问题,或者非常类似的问题 – 将Liferay WAR文件部署到具有两个节点的glassfish集群。 我没有完全正确配置它,但我确实已成功部署它。 也许这对你也有帮助,我们可以比较笔记。

这是我必须做的。

首先,基础工作。 GlassFish在部署WAR时对我来说有点奇怪。 据我了解,WAR文件在某个地方由node-agent爆炸,但是一旦部署,你就无法访问文件。 这意味着当您调整配置文件(portal-ext.properties)时,您每次都需要重新部署 – 而Liferay的重量大约为73MB。 这将定期导致PermGen空间exception,并要求您重新启动群集。 所以你最好设置JVM选项来增加glassfish中PermGen空间的大小。 这里有一个很好的解释问题:

http://www.freshblurbs.com/explaining-java-lang-outofmemoryerror-permgen-space

该JVM选项无法解决问题,但会增加群集重启之间的延迟(glassfish控制台无法重启,顺便说一下;我们必须通过命令行来完成)。

接下来的问题是:依赖JAR文件在哪里? 我们在运行其他服务的共享集群中运行,因此将其放在domains / domain1 / lib文件夹中将不起作用。 我们将依赖JAR文件放在了liferay war文件的WEB-INF / lib中,似乎对此感到满意。

下一篇:portal-ext.properties覆盖文件去哪里了? 答案又在liferay war文件中,在WEB-INF / classes中。 这也是我们每次修改属性时需要重新部署的一个原因,如上所述。

下一篇:上下文。 默认情况下,liferay尝试部署到根上下文“/”。 我们处于共享环境中,因此我们将WAR部署到context / lr1。 在portal-ext.properties中,我们必须设置属性

portal.ctx = / LR1

下一篇:在集群环境中使用嵌入式HSQL没有多大意义; 我们使用GlassFish为数据库连接池设置了一个JNDI名称。 有关如何在Liferay文档指南中执行此操作的说明。 在portal-ext.properties文件中,我们可以放入

jdbc.default.jndi.name = JDBC / LiferayPool

我们也不想在文件系统上存储Lucene索引。 我们在portal-ext.properties文件中覆盖这些属性来修复:

lucene.store.type = JDBC

lucene.store.jdbc.auto.clean.up =真

lucene.store.jdbc.dialect.oracle = org.apache.lucene.store.jdbc.dialect.OracleDialect

类似的逻辑适用于JackRabbit存储库; 我目前有以下属性设置(我不知道这是否正确,但文档库工作):

jcr.jackrabbit.repository.root = WEB-INF /类/

我不得不将jackrabbit的repository.xml文件放在WEB-INF / classes中。 该xml文件告诉jackrabbit使用哪些数据库连接参数(有关详细信息,请参阅Apache的Jackrabbit配置页面)。 同样,我不确定将它放在WEB-INF / classes中是正确的想法,但它可能必须在WAR文件中的某个位置或者在群集中的所有节点的某个共享文件系统上共享相同的数据。

我还没有搞乱EHcache,但我确实放入了hibernate属性:

hibernate.dialect = org.hibernate.dialect.Oracle10gDialect

对于我们的oracle db。 我相信它使用上面的默认JDBC属性来引用我们的JNDI数据库连接。

“Liferay主目录”变量的概念是“服务器主页上方的一个文件夹”,我仍在努力解决这个问题,并且每次发送与/ opt / ee / license相关的HTTP请求时都会导致错误。

liferay正在运行的用户没有修改/ opt的权限,并且无论如何在集群环境中都是个坏主意。 我不确定设置在哪里,因为当我看到所有我看到的是

liferay.home = $ {} resource.repositories.root

resource.repositories.root = $ {} default.liferay.home

我不知道default.liferay.home的定义在哪里; 还在努力。

遗憾的是,将liferay部署到集群环境还没有很好的文档记录,但我希望分享这一点对您有所帮助。

祝你好运!

Liferay是一个Spring / Hibernate应用程序,意味着与服务器无关,大多数集群配置应该是门户(-ext).properties文件的集群部分:Hibernate,EHCache和JGroup配置。 唯一的应用服务器特定配置应该是会话故障转移,就像部署的任何Web应用程序一样。