Search This Blog

Wednesday, May 10, 2017

Maximo as a service on Google Cloud Platform part 2

 

In the last tutorial on how to install Maximo on Google Cloud Platform part 1

In this tutorial we will learn how to add horizontal clustering to make our architecture scalable in both the dimensions.

Lets create a new compute engine node (Windows 2008 R2) and move web sphere installation there.

I used File zilla to transfer my existing installation to the node

(Please make sure you zip the WebSphere folder and then transfer, else exploded folder might give errors when you try to run the PMT tool, I wasted 3 hours on it- Errors were around eclipse framework not found and not resolved errors from users/appdata folder)

Open pmt.bat from( AppServer/bin/ProfileManagement/pmt.bat) and create a CUSTOM profile

image

image

Enter Deployment manager hostname,make sure you are able to ping that host and telnet on the SOAP connector port ( To see incoming port of DMGR open the Console of DMGR and go to SystemAdministration – >Ports—>SOAP_CONNECTORPORT)

 

image

 

image

 

Lets check if node is created.

image

 

Lets start both the nodes and sync to DMGR.

Custom01/bin/startNode.bat( Federated Node)

AppSrv01/bin/startNode.bat (Dmgr system)

=======================================================================

IF you face issues with sync of node or your node status is not visible on DMGR as green, there might be following reasons:

  • If your node status is not available and it is started, check the firewall, disable it for a while and sync and test again.
  • If your node is not starting and you have copied over the websphere  installation from some where else, reason might be the user access. Assign full access to the users of the system for that folder(Custom02)
  • In case node is started but sync/addnode has problems and it times out after a while due to unknown host or some thing, add the hosts entry on both systems in /drivers/etc/hosts file.

======================================================================

Restart the system and try again( I wasted couple of hours because of above reasons mentioned)

 

 

image

 

Now my nodes are synced and we can do horizontal clustering now.

mxnode

 

Lets create a cluster and add JVMs on both nodes, horizontal cluster.

Lets add two JVM on both the nodes and add heap sizes to support Maximo.

Lets deploy Maximo.ear now to cluster and bind it to webserver  as well so that we can test our round robin capabilities to both horizontal as well as vertical JVMs

Your virtual host need to have those ports of the local and the remote JVM on which maximo has to listen.

Make sure to generate and propagate the webserver plugin.

Lets test.

 

image

 

It works, but wait we need to do a few tests.

Failover and load balancing Test of the Horizontal Cluster

In this section , we will see if our horizontal cluster is able to handle in case a node goes down.

We will try to stop all the JVMs on our main node and see if we are still able to login to Maximo.

If you able to open the Maximo even after shutting down the servers or shutting down the node, it means

failover is happening properly and your plugin is able to route to available JVM properly.

There is an internet heart beat kind of thing inside the plugin which keeps checking the status of the servers and routes to only those servers which have http response code 200 and in health state.

 

 

Next step is to add a load balancer to our architecture so that it can divide the load between two http servers(currently we have only 1 http server for this case study), to avoid single point of failure, it is advisable to have two http servers and having same plugin files- please note these http servers need to be on two separate boxes other than the DMGR and the federated node to achieve true failover and DR capabilities.

We will see a diagram to see how it actually works.

Refer this to see, how to add a load balancer on google cloud platform ?

 

image

 

so both web server keep serving round robin through plugin, and are interfaced with LB, system will keep working in case any of the nodes goes down.

if (box1  is down) – every thing is routed by box2

if(box3 is down) – every thing is routed by box2 and box 1 to box4

if( box 4 is down) every thing is routed by box 2 and box1 to box 3

if (box 2 is down) every thing is routed by box 1 to box 3 and box 4

 

There is not single point of failure, the only case this architecture can fail is if both the front facing Web server(box 1 & box2) are down.

Enough I guess for now, so in this part of tutorial we learnt how to setup horizontal clustering on Google cloud platform for Web Sphere and how to deploy Maximo on that WebSphere.

Keep Reading !

Action Item : Subscribe & Share !

No comments:

Post a Comment