GlassfishにLiferayクラスタをインストールするためのステップバイステップチュートリアルはありますか?Liferay Cluster
答えて
Googleは、この文書がhow-to-install-and-configure-a-liferay-cluster
お楽しみと呼ばれる私を発見しました!
Liferayは、サーバーに依存しないSpring/Hibernateアプリケーションです。ほとんどのクラスタ構成は、ポータル(-ext).propertiesファイルのHibernate、EHCache、およびJGroup構成のクラスタリングセクションである必要があります。アプリケーションサーバー固有の唯一の設定は、展開されたすべてのWebアプリケーションと同様に、セッションフェイルオーバーでなければなりません。
Liferay WARファイルを2つのノードを持つglassfishクラスタに配置するのと同じ問題、またはそれに類似した作業を行っています。まだ完全には正しく設定されていませんが、正常に展開されています。たぶんこれもあなたを助け、メモを比較することができます。
ここで私は何をしなければなりませんでした。
まず、基礎作業。 GlassFishは、WARをデプロイする方法で私には少し奇妙です。私が理解しているように、WARファイルはノードエージェントのどこかで展開されていますが、展開された後はファイルをポックするためのアクセス権がありません。つまり、毎回再配備する必要のある設定ファイル(portal-ext.properties)を調整すると、Liferayは〜73MBとかなり大きくなります。これにより、PermGenの領域外の例外が定期的に発生し、クラスタを再起動する必要があります。したがって、glassfishのPermGenスペースのサイズを増やすためにJVMオプションを設定することをお勧めします。ここでの問題の良い説明があります:JVMオプションは、問題を解決することはできませんが、それはクラスタのリブートの間の遅延(GlassFishのコンソールがところで、再起動して動作しませんでしたが増加すること
http://www.freshblurbs.com/explaining-java-lang-outofmemoryerror-permgen-space
。我々はコマンドラインでそれをやらなければならなかった)。
次に、依存関係のJARファイルはどこにありますか?私たちは他のサービスを実行する共有クラスタで動作しているため、domains/domain1/libフォルダに入れることはできません。私たちは依存関係のJARファイルをWEB-INF/libのliferay warファイルに貼り付けました。これはうれしいようです。
次:portal-ext.propertiesはどこにファイルを上書きしますか?答えはWEB-INF/classesの生涯戦争ファイルに再び載っています。これは、前述のようにプロパティを変更するたびに再展開する必要がある理由もあります。
次へ:コンテキスト。デフォルトでは、liferayはルートコンテキスト "/"にデプロイを試みます。私たちは共有環境にあるので、WARをcontext/lr1にデプロイしました。 portal-ext.propertiesでは、
あるportal.ctx =/LR1
次のプロパティを設定する必要がありました:これは、クラスタ環境に埋め込まれHSQLを使用するようにあまり意味がありません。 GlassFishを使用してdatabse接続プールのJNDI名を設定します。 Liferayのドキュメンテーションガイドでこれを行う方法に関する指示があります。 portal-ext.propertiesファイルでは、我々は、我々はまた、上のLuceneインデックスを格納する必要はありません、その後
jdbc.default.jndi.name = JDBC/LiferayPool
を置くことができましたファイルシステム。 portal-extでこれらのプロパティをオーバーライドします。プロパティは、その問題を解決するためのファイル:
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でめちゃくちゃしていない、まだ、私は休止状態プロパティに入れた:私たちのOracle DBの
hibernate.dialect = org.hibernate.dialect.Oracle10gDialect
。私はJNDIデータベース接続を参照するために上記のデフォルトのJDBCプロパティを使用していると思います。
"Liferay Home Directory"という変数が "サーバーのホームの上の1つのフォルダ"であるという概念は、私がまだ苦労していることであり、/ optに関するHTTP要求が送信されるたびにエラーが発生しています/ ee/license。
liferayが実行されているユーザーには、/ optを変更する権限がありません。また、いずれの場合もクラスタ環境では悪い考えです。私が見たときに、私が見るすべては
liferay.home = $ {} resource.repositories.root
と
資源であるので、私は、設定がどこにあるかわからないんだけど.repositories.root = $ {default.liferay.home}
default.liferay.homeはまだ定義されていません。まだそれに取り組んでいます。
クラスタ化された環境にliferayを配備することは、残念ながらそれほど実証されていませんが、これを共有することが、ほんの少しの助けになることを願っています。
幸運を祈る!
- 1. Node.js Cluster
- 2. node.js cluster with https
- 3. Riak Security in Cluster
- 4. Apache Ignite Computing Cluster
- 5. Percona cluster weaving odd
- 6. Kubernetes Cluster APP DNS
- 7. google map spiderfier cluster
- 8. Node.js、express and cluster
- 9. Cassandra Cluster Recovery
- 10. Redis cluster on kubernetes
- 11. OpenLayers Cluster Recalculate
- 12. nginx-php-fpm cluster
- 13. rabbitmq openshift cluster
- 14. auth in kibana cluster
- 15. weblogic cluster eclipse target
- 16. AWS Fargate Cluster Scaling
- 17. Windows Zookeeper Cluster
- 18. Google Map Marker Cluster
- 19. elasticsearch cluster stats indexing
- 20. Ibm websphere、cluster and failover
- 21. Node.js googlemaps cluster execute error
- 22. Apache Zeppelin executor standalong cluster
- 23. Medium Hadoop/Spark Cluster Administration
- 24. asadmin list-instances cluster glassfish
- 25. Ignite Clusterの実行
- 26. Cassandra Cluster Managerのメモリリーク
- 27. Apache Traffic Server Cluster 7.1.1
- 28. HTTPSロードバランシングGoogle Container Cluster
- 29. OpenLayers 4 zoom to cluster
- 30. "--cluster-store"と "--cluster-advertise"が動作しない
PropsUtilのソースを見ると、 SystemProperties.set( "default.liferay.home"、_getDefaultLiferayHome()); これは、アプリサーバーに基づいて居住地を検出します。これはすべてのアプリケーションサーバーで同様です:SystemProperties.get( "jetty.home")+ "/ .."; システムプロパティが設定されていない場合、null/..となります。 – Priit