This guide comes from IBM support which shows us how to setup a clustered Maximo 7 user interface (UI) within WebSphere for best performance.
The following describes the steps required to set up a clustered Maximo application (an example). Maximo clustering provides a means to group like functionality. In this example the Maximo EAR file is deployed to the cluster is for the UI. From there the IHS web server will be used to distribute the requests between identically defined application servers. This is a great way to scale your Maximo system.
Note: To share resources in a clustered environment, all resources must be defined at the cell-level within the WebSphere console.
In the example configuration below, we will use the following names:
MXCLUSTER is the cluster
MXUI1 is a cluster member
MXUI2 is a cluster member
Creating a cluster and cluster members
First, you define both the Cluster and the Cluster members that make up the Cluster. Begin by using the following “example” configuration for a single application server Java Virtual Machine (JVM):
50 concurrent users, 1 CPU and 2GB of RAM memory.
So, using the above example, if you had 100 concurrent users, you would create a 2-JVM cluster and the server environment would have 2 CPUs and 4GB of ram memory.
1. Login to the WebSphere Administrative Console.
2. Click Servers > Clusters, in the Server clusters screen, click New.
3. Enter the basic cluster information,
a. Enter MXCLUSTER in the Cluster name field.
b. Check Prefer local checkbox, click Next.
4. Create first Clustered Servers member, enter the following:
a. Enter MXUI1 in the Member name field.
b. Accept the defaults in the Select Node and Weight fields.
c. Check the Generate Unique Http Ports checkbox.
d. Select the “Create the member using existing application server as a template” radio button and choose MXSERVER (this is the application server name created initially for Maximo) from the drop down list and click Next.
5. Create additional cluster members, enter MXUI2 in the Member name field, click Add Member and then click Next.
6. Click Finish to create the cluster and clustered servers, then click Save
7. Heap size: Click Application servers, then click on each new server > Java and Process Management > Process Definition > Java Virtual Machine and fill in both the Initial and Maximum Heap sizes. Click Apply and then click Save
NOTE: When setting the Initial/Maximum heap size for the MXUI1/MXUI2 application server JVMs, the following recommended heap size should be used for each JVM:
32-bit server = 512MB/1024MB
64-bit server = 1024MB/2048MB.
Update Virtual Hosts
This procedure describes how to verify port numbers used by the clustered servers. It also explains how to update the virtual host with the port number information. A virtual host enables a single host machine to resemble multiple host machines. Each virtual host has a logical name and a list of one or more DNS aliases by which it is known.
1. To verify port numbers of the clustered application servers, perform the following actions:
a) Servers > Application Servers, click MXUI1.
b) Under the Communications, click Ports.
c) Make a note of the WC_defaulthost port number for use below (9081, 9082).
2. Repeat Step 1 for MXUI2.
3. Environment > Virtual Hosts, click New.
4. Enter MXCLUSTER_host is the Name field, click Apply.
5. Click Host Aliases under Additional Properties.
6. Click New in the Host Alias panel to add 3 Host name and port number values to the host aliases list:
a) Host Name: *, Port: 80 (IBM HTTP Server port), click OK.
b) Host Name: *, Port: 9081 (same as port number for MXUI1), click OK.
c) Host Name: *, Port: 9082 (same as port number for MXUI2), click OK.
7. Click Save.
Deploying to the Cluster
Now that you have created and configured the MXCLUSTER, you then should deploy your enterprise application (EAR) within the cluster.
Note: When mapping modules to servers, make sure you select both MXCLUSTER and the webserver1 as the web server:
WebSphere:cell-ctgCell01,cluster=MXCLUSTER
WebSphere:cell-ctgCell01,node=ctgNode01,server=webserver1
Also, when mapping virtual hosts to web modules, use the virtual host you created above for the cluster:
MXCLUSTER_host
Lastly, start the MXCLUSTER Cluster
Hi,
One question, have you ever deployed heap space settings in production that you have mentioned in the article? I know that these settings are recommendation by IBM for 50 concurrent users, but does that really work? I also know that you need to set max and min permspace for JVM on each cluster member, because I found that sometimes Maximo makes JVM run out of permspace.
I have not. I have only set what IBM suggests.
Hi,
I have login problem after configure cluster environment.
I face a problem during browse to maximo url.
It give me an error “Error 500: BMXAA4188E – The system could not connection to an application server on the specified host. Please ensure that the application server is running. CORBA NO_PERMISSION 0x0 N0,nested exception is: org.omg.CORBA.NO_PERMISSION: java.rmi.AccessException: ;nested exception is:com.ibm.websphere.csi.CSIAccessException: SECJ0053E: Authorization failed for
/UNAUTHENTICATED while invoking (Bean) ejb/maximo/remote/accesstokenprovider getAccessToken:1 securityName:
/UNAUTHENTICATED;accessID: UNAUTHENTICATED is not granted any of the required roles: maximouser vmcid: 0x0 minor code: 0 completed: No.”
when browse for fist time, it prompt me for login screen, after close and reopen the browser, it show me that error.
Do you face this problem before?
when deploying the application, make sure to synchronize with nodes