Search This Blog

Wednesday, April 19, 2017

Maximo SAAS on AWS Chapter 105

 

In the earlier section of the series “Maximo on AWS” , we saw how we could start our Maximo instance on our EC 2 with RDS and vertical clustering enabled with node agent and the HTTP Server running.

A quick diagram for reference:

image

 

Currently our architecture has a single point of failure.

 

So lets federate another horizontal node to our Web Sphere ND and make it highly available.

 

Recipe

  • Get a new EC 2 instance
  • Install WAS ND with app server profile
  • Federate and add members to cluster.
  • Generate and propagate web server plugin on node 1 for webserver1
  • Restart every thing and test high availability.

 

Lets get going, please note this will also qualify for

How to do horizontal clustering in Web sphere Network Deployment and ensure high availability”

 

I am using file zilla to download the middleware stuff to my new EC 2 instance which will be the horizontal node.

 

Boot a t2.large instance assuming our horizontal node will have only two Maximo servers in cluster.

 

image

 

Hang in there for a while, size is around 6 Gig will take a while.

 

Now execute pmt.bat tool to create a new custom profile which will contain just the node.

C:\IBM\WebSphereND\AppServer\profiles\Dmgr01\bin\pmt.bat

Choose > custom > Typical

 

was nd 8.5 clustering working blog

Enter the EC2 instance host name of our DMGR, this is the other instance on which we have been working till now.

 

It connected like a charm.

 

was nd horizontal cluster easy way

image

 

Error encountered

"ADMU0036E: The Deployment Manager cannot lookup by name host {0} at address {1}

 

So I wasted couple of hours here, my custom profile was not able to federate with my deployment manager running on another EC2 instance.

 

Fix:

I had to add the ip to host mappings in the hosts file on both the EC2 instances.

So do a hostname check on both your machines and add hosts entries inside the hosts file

/windows/system32/drivers/etc/hosts

I found the public ip from the EC2 console home and added there, sample provided below.

image

Ref; For one of them, same needs to be done for other one.

Connectivity between two EC2 instances on AWS

Very important step.

 

You need to trouble shoot the networking between two AWS instances to make it work.Both the DMGR and the other custom node should be able to communicate(lookup) each other using the host names used while federating the node.

Try windows> nslookup  aws_instancename_public_one

You should get an authoritative answer.

 

Please note if the security group for both the instances is configured to allow all traffic to the instances, you might still not be able to ping the boxes. But federation will work just fine.

Its also a good idea to disable source and destination check on the custom profile node, I mean the node that is being federated.

Select instance on EC2 console and click on action –> network—>

image

 

 

Lets create the custom profile now,this time choose the second option.

While choosing the custom profile option, choose the second option where advanced parameters can be specified.Send your hostname with the add node command.

image

It will help you to send you hostname with federate command. Here host name will be your EC2 public dns name which DMGR should be able to resolve.

 

Important: Check the “federate later” option and continue, this wizard has to be a success. Please do not continue if you don’t see your newly created profile in PMT Window.

 

I think key here is, both the EC2 instances talk to each other and nslookup is a success, the federation should work just fine later on, with ./addNode.bat command.

 

Please disable firewalls on both the systems for a while and SG should allow all traffic from any where – just for this test, later you can enable.

 

For me, the federation failed at least 20 times and once connectivity was proper, it started working. See below.

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

 

So if that is done, your EC2 instances should have been federated by now, as shown below.

 

image

 

Now lets go back to the WAS console and see if the node is federated to our Deployment manager and we are able to see the newly federated node in our WAS 8.5.5 cell.

 

Great our new node is there, but the status is not synchronized.

Lets synchronize it now.

 

> syncnode.bat dmgr_host port

It won’t , it needs custom node to be down to sync.

sync federated node websphere nd 8.5

Now do a sync.

 

> syncnode.bat dmgr_host port

 

Lets check the status on dmgr, get your node started.

>AppSrv01/bin> startNode.bat

 

Now add new member to existing vertical cluster and select node as our custom node.

image

 

Now cluster can perform both horizontally and vertically and its scalable(Depends on the hardware available)

 

Its time to start the cluster and check following things:

  • IHS is doing round robin of our sessions it receives from the user.
  • Whether nodes are independent can operate independently in case of DR
  • Vertical clustering and horizontal clustering is working fine.

 

This will the end of this post and we will discuss the above mentioned in our next article.

 

In this section we were able to horizontally add custom nodes to WAS ND and federate it to achieve horizontal clustering of WAS, in next section we will see how to truly achieve high availability by leveraging the Elastic IP and RDS mirroring.

 

Part 6 HA using RDS mirroring and Elastic IP for Maximo

 

 

Stay tuned and Subscribe.

 

Keep reading !

 

 

No comments:

Post a Comment