{"id":1084,"date":"2023-07-02T19:23:29","date_gmt":"2023-07-02T13:53:29","guid":{"rendered":"https:\/\/www.techandtrain.com\/blog\/?p=1084"},"modified":"2025-10-22T14:53:05","modified_gmt":"2025-10-22T09:23:05","slug":"liferay-clustering-part-1","status":"publish","type":"post","link":"https:\/\/www.techandtrain.com\/blog\/2023\/07\/liferay-clustering-part-1\/","title":{"rendered":"Liferay clustering &#8211; Part 1"},"content":{"rendered":"\n<p><strong>Notes on Liferay clustering:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/learn.liferay.com\/w\/dxp\/installation-and-upgrades\/setting-up-liferay\/clustering-for-high-availability\">Clustering for High Availability &#8211; Liferay Learn<\/a>&nbsp;&#8211; Main page for clustering<\/li>\n\n\n\n<li>Here is what\u2019s required to create an effectively functional DXP cluster: 1. Liferay DXP&nbsp;<a href=\"https:\/\/learn.liferay.com\/w\/dxp\/installation-and-upgrades\/installing-liferay\">installed<\/a>&nbsp;on separate application server nodes. 2. A&nbsp;<a href=\"https:\/\/learn.liferay.com\/w\/dxp\/installation-and-upgrades\/setting-up-liferay\/clustering-for-high-availability\/database-configuration-for-cluster-nodes\">database or database cluster<\/a>&nbsp;that\u2019s accessible to all nodes 3. A&nbsp;<a href=\"https:\/\/learn.liferay.com\/w\/dxp\/system-administration\/file-storage\">File Store<\/a>&nbsp;that\u2019s accessible to all nodes 4. A&nbsp;<a href=\"https:\/\/learn.liferay.com\/w\/dxp\/using-search\/installing-and-upgrading-a-search-engine\/installing-a-search-engine\">search engine (running outside of DXP) that is optionally clustered<\/a>&nbsp;5.&nbsp;<a href=\"https:\/\/learn.liferay.com\/w\/dxp\/installation-and-upgrades\/setting-up-liferay\/clustering-for-high-availability\/configuring-cluster-link\">Cluster Link configured to enable communication and cache replication across all nodes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learn.liferay.com\/w\/dxp\/installation-and-upgrades\/setting-up-liferay\/clustering-for-high-availability\/configuring-unicast-over-tcp\">Configuring Unicast over TCP &#8211; Liferay Learn<\/a>&nbsp;&#8211; Options for JGroups communication<\/li>\n\n\n\n<li><a href=\"https:\/\/learn.liferay.com\/w\/dxp\/installation-and-upgrades\/setting-up-liferay\/clustering-for-high-availability\/configuring-cluster-link\">Configuring Cluster Link &#8211; Liferay Learn<\/a>&nbsp;&#8211; Configurations for cluster<\/li>\n\n\n\n<li><a href=\"https:\/\/learn.liferay.com\/w\/dxp\/installation-and-upgrades\/setting-up-liferay\/clustering-for-high-availability\/database-configuration-for-cluster-nodes\">Database Configuration for Cluster Nodes &#8211; Liferay Learn<\/a>&nbsp;&#8211; This has option to optimize via separating the READ \/ WRITE operations via two synced instances of database.<\/li>\n\n\n\n<li>Nodes should not be run without clusterlink configuration in portal-ext.properties and proper configuration of UNICAST or MULTICAST, DB, etc. as described in Liferay Learn. There are architectural, caching, design, state management, pattern based, scheduler related and other reasons for running cluster by configuring all things properly.<\/li>\n\n\n\n<li>Don&#8217;t forget to refer&nbsp;<a href=\"https:\/\/liferay.dev\/blogs\/-\/blogs\/liferay-performance-tuning\">Liferay Performance Tuning &#8211; Liferay<\/a>&nbsp;&#8211; Refer performance tuning page to fine tune your JVM, Threads, Heap, GC, Database pooling, Elasticsearch pooling and other areas for each node or overall for the cluster via control panel or various files.<\/li>\n\n\n\n<li>Embedded database and embedded side-car search engine will break the cluster and you need remote \/ separate database and remote \/ separate Elasticsearch for cluster for work properly.<\/li>\n\n\n\n<li>Important list of files: server.xml, tcp.xml, portal-ext.properties, portal-setup-wizard.properties, web.xml, setenv.bat\/sh, osgi\/config, context.xml, jvm.options\/.d, elasticsearch.yml<\/li>\n\n\n\n<li>Also, refer this blog:\u00a0<a href=\"https:\/\/liferay.dev\/blogs\/-\/blogs\/clustering-in-liferay-ce-7-2\">Clustering in Liferay CE\u00a07.2 &#8211; Liferay<\/a><\/li>\n\n\n\n<li>Use Glowroot to monitor your cluster by referring this blog:&nbsp;<a href=\"https:\/\/liferay.dev\/blogs\/-\/blogs\/setting-up-glowroot-apm\">Setting up Glowroot APM &#8211; Liferay<\/a>&nbsp;&#8211; specifically check the Glowroot Central<\/li>\n<\/ul>\n\n\n\n<p>Email me: Neil@HarwaniSystems.in<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Notes on Liferay clustering: Email me: Neil@HarwaniSystems.in<\/p>\n","protected":false},"author":2,"featured_media":1085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[192],"tags":[159,237,282,200,283,244],"class_list":["post-1084","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-liferay","tag-clustering","tag-dxp","tag-dxpclustering","tag-liferay","tag-liferay-clustering","tag-liferaydxp"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/07\/laptop-1478822_1280.jpg?fit=1280%2C853&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7do02-hu","jetpack-related-posts":[{"id":1018,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/01\/links-on-important-technical-concepts-of-liferay-part-1\/","url_meta":{"origin":1084,"position":0},"title":"Links on important technical concepts of Liferay &#8211; Part 1","author":"Neil Harwani","date":"January 25, 2023","format":false,"excerpt":"Here are some links on important technical concepts of Liferay - Part 1. Hope this is helpful to all using and learning Liferay. Clustering:\u00a0Liferay DXP Clustering \u2013 Liferay Help Center Upgrade:\u00a0Upgrade Basics \u2014 Liferay Learn LXC:\u00a0Liferay Experience Cloud \u2013 Liferay Help Center Search:\u00a0Search Overview \u2014 Liferay Learn Architecture:\u00a0Introduction to Architecture\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credit: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/01\/door-g5a9b513f9_1920.jpg?fit=1200%2C944&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/01\/door-g5a9b513f9_1920.jpg?fit=1200%2C944&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/01\/door-g5a9b513f9_1920.jpg?fit=1200%2C944&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/01\/door-g5a9b513f9_1920.jpg?fit=1200%2C944&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/01\/door-g5a9b513f9_1920.jpg?fit=1200%2C944&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1001,"url":"https:\/\/www.techandtrain.com\/blog\/2022\/12\/liferay-upgrade-learnings-part-1\/","url_meta":{"origin":1084,"position":1},"title":"Liferay upgrade learnings &#8211; Part 1","author":"Neil Harwani","date":"December 23, 2022","format":false,"excerpt":"Some learnings below from various Liferay upgrades that I have been part of: Upgrades need us to plan various dry runs in advance on non-production environment Divide your upgrade between core \/ database and non-core upgrade Core includes Liferay engine, configurations and database Non-core includes themes, custom code, integrations and\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credit: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":825,"url":"https:\/\/www.techandtrain.com\/blog\/2022\/02\/keywords-to-search-on-liferay-part-1\/","url_meta":{"origin":1084,"position":2},"title":"Keywords to search on Liferay &#8211; Part 1","author":"Neil Harwani","date":"February 19, 2022","format":false,"excerpt":"Searching these keywords on Liferay will keep you updated on what's happening in the ecosystem. Add \"Liferay\" in-front of these keywords & search the same. It's a mix of technical & functional \/ product feature topics. This is Part-1 of the series. Module loaderMVC portletLoggingUpgradePatch toolSearch filterHot fixesService packsSearch experiencesObjectsCommerceService\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/02\/Liferay.png?fit=594%2C209&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/02\/Liferay.png?fit=594%2C209&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/02\/Liferay.png?fit=594%2C209&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":965,"url":"https:\/\/www.techandtrain.com\/blog\/2022\/10\/liferay-best-practices-part-1\/","url_meta":{"origin":1084,"position":3},"title":"Liferay best practices &#8211; Part 1","author":"Neil Harwani","date":"October 11, 2022","format":false,"excerpt":"Developers and managers both struggle at times to pre-plan usage of best practices in projects causing many problems which are best avoided. Providing below some learnings & best practices on using and working with Liferay \u2013 Part 1. Don\u2019t work directly on the Liferay database. Use the groovy script console\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credit: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1070,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/05\/how-to-take-knowledge-transfer-in-a-discussion-for-liferay-engagement-part-1\/","url_meta":{"origin":1084,"position":4},"title":"How to take knowledge transfer in a discussion for Liferay engagement &#8211; Part 1","author":"Neil Harwani","date":"May 17, 2023","format":false,"excerpt":"Here is a list of points which will help in taking a knowledge transfer for a Liferay engagement - Part 1: 1. Check which products of Liferay are in use: DXP, Commerce, Analytics and \/ or Cloud LXC 2. Take the list of osgi\/configs & osgi\/modules to get configurations of\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credits: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/05\/fantasy-g5314dd315_1920.jpg?fit=1200%2C910&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/05\/fantasy-g5314dd315_1920.jpg?fit=1200%2C910&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/05\/fantasy-g5314dd315_1920.jpg?fit=1200%2C910&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/05\/fantasy-g5314dd315_1920.jpg?fit=1200%2C910&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/05\/fantasy-g5314dd315_1920.jpg?fit=1200%2C910&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1053,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/03\/elasticsearch-with-liferay-notes-links-part-1\/","url_meta":{"origin":1084,"position":5},"title":"Elasticsearch with Liferay &#8211; Notes &amp; Links &#8211; Part 1","author":"Neil Harwani","date":"March 26, 2023","format":false,"excerpt":"Below are the important notes & links for configuring Liferay DXP with Elasticsearch. Configuring Elasticsearch \u2013 Liferay Help Center\u00a0- DXP 7.0 Installing Elasticsearch - Liferay Learn\u00a0- DXP latest Securing Elasticsearch 6.5 with X-Pack \u2013 Liferay Help Center\u00a0- DXP 7.0 with ES 6.5 Securing Elasticsearch - Liferay Learn\u00a0- DXP 7.0\/7.1\/7.2\/7.3\/7.4 latest\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credit: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/03\/freelancer-763730_1920.jpg?fit=1200%2C797&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/03\/freelancer-763730_1920.jpg?fit=1200%2C797&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/03\/freelancer-763730_1920.jpg?fit=1200%2C797&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/03\/freelancer-763730_1920.jpg?fit=1200%2C797&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/03\/freelancer-763730_1920.jpg?fit=1200%2C797&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/comments?post=1084"}],"version-history":[{"count":3,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1084\/revisions"}],"predecessor-version":[{"id":1088,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1084\/revisions\/1088"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media\/1085"}],"wp:attachment":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media?parent=1084"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/categories?post=1084"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/tags?post=1084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}