Sterling B2B Integrator Installation: Part 3 – SB2BI Node 2 & Clustering

In the previous Blog Post, I’ve installed the the first of two nodes of Sterling B2B Integrator. In this Post I will install the second Sterling B2B Integrator Node, and try to set those up as a Cluster.

Sterling B2B Integrator – Node 2

I will start by installing the second Sterling B2B Integrator Node. Set up a new VMWare server like below. And then follow the steps in the blog post STERLING B2B INTEGRATOR INSTALLATION: PART 2 – SB2BI NODE 1. The only difference is answering “Yes” on the Question “Is this node 2 or higher” in the Text based Installation Manager.

SERVER INFO

I will start by setting up a new server on my VMWare Workstation. This server is installed with the following setup:

OS: RedHat Enterprise Linux 7 64-bit – Minimal Install
Processors: 2
Memory: 2 GB
Hard Disk: 50 GB
Network: Static: 192.168.192.12 (Hostname: sinode2.demos.ibm.int)
Users: root, si_user

POST-Installation to enable clustering

I now have two Sterling B2B Integrator Nodes. But they just shares the database, and nothing else. To enable a cluster some configurations needs to be made.

JGROUPS CONFIG

In the file jgroups_cluster.properties.in file under <install dir>/install/properties/ I add/edit the initial_hosts variable the following line for each node:

For node 1: initial_hosts=192.168.192.11[40061],192.168.192.12[40061]
For node 2: initial_hosts=192.168.192.12[40061],192.168.192.11[40061]

jgroups_cluster.properties.in

setupFiles.sh needs to be run to apply the changes.

NB: I had one issue making the clustering work. The HOST_ADDR parameter in sandbox.cfg was missing, and thus the configuration in jgroups_cluster.properties was not working as desired since it is referring to HOST_ADDR. So I added the HOST_ADDR in sandbox.cfg on both the servers to make it work properly.

Shared Document Storage

Documents handled by Sterling B2B Integrator can be stored either in Database, or on File System. The database is already shared, so that is fixed, but the default document storage on file system for Sterling B2B Integrator is <install_dir>/install/documents. So that means that documents then will be stored on the node where they was processed. To avoid that, it is needed to create a shared Document Storage. For simplicity, I create a NFS Share on the Database Server that will be mounted on both the SB2BI Nodes. And then change the default Document Directory to that NFS Share.

NFS Server

On the Database server created earlier (sidb.demos.ibm.int), I install NFS Server.

NFS Install

Create a directory for the Shared Files. I created the directory /SI_Cluster_Share with the subfolder /documents.

Edit the file /etc/idmapd.conf and set the domain for the servers.

Edit idmapd.conf

Then I edit the file /etc/exports and set the Shared folder and I share it for the whole network (can also be shared for specific IP’s etc.).

Edit exports

I run the following commands to start the NFS Services:
[root@sidb ~]# systemctl restart rpcbind
[root@sidb ~]# systemctl start nfs-server
[root@sidb ~]# systemctl start nfs-lock
[root@sidb ~]# systemctl start nfs-idmap

And then the following commands to enable the services to be started on boot:
[root@sidb ~]# systemctl enable rpcbind

[root@sidb ~]# systemctl enable nfs-server
[root@sidb ~]# systemctl enable nfs-lock
[root@sidb ~]# systemctl enable nfs-idmap

That’s it for the Server Side.

NFS Clients

On the two Sterling B2B Integrator Servers, this shared folder needs to be mounted.

I start by creating a local Directory where the Shared Directory will be mounted. I created /SI_Cluster_Share.

Then I install the NFS Client software.

NFS Client Install

Then edit the file /etc/idmapd.conf and set the domain for the servers.

Edit idmapd.conf

Run the following commands to start the NFS Services:
[root@sinode1 ~]# systemctl restart rpcbind
[root@sinode1 ~]# systemctl start nfs-lock
[root@sinode1 ~]# systemctl start nfs-idmap
[root@sinode1 ~]# systemctl start nfs-mountd

And the following comands to enable the services at startup:

[root@sinode1 ~]# systemctl enable rpcbind
[root@sinode1 ~]# systemctl enable nfs-lock
[root@sinode1 ~]# systemctl enable nfs-idmap
[root@sinode1 ~]# systemctl enable nfs-mountd

At the end I edit the file /etc/fstab to mount the folder on boot.

fstab_updated

Run mount /SI_Cluster_Share to activate the mount.

Repeat the same procedure on the second Sterling B2B Integrator Node. Then the Shared folder on the database server is accessible for the two SB2BI Nodes.

Configure Sterling B2B Integrator

The last thing is to change the document_dir in the Sterling B2B Integrator Properties. If the Sterling B2B Integrator node is running, stop it first.

Under <install dir>/install/properties/ open the sandbox.cfg file for editing. Change the DOC_PAYLOAD_DIR to the Shared Folder.

Edit Sandbox.cfg

To make the changes apply, run setupFiles.sh in <install dir>/install/bin/. Then start Sterling B2B Integrator. Do this on both nodes.

Resource Sharing

Add the following to the customer_overrides.properties.in file on each of the servers (change the ip on the second node) to enable sharing of configuration properties between the nodes.

customer_overrides.properties.in

Configure the Nodes

To configure the nodes, go to the properties directory on the servers. Start with Node 1, and run ./startCluster.sh 1 true. Afterwards, do the same on the second node, but change from 1 to 2 (./startCluster.sh 2 true).

Summary

The two nodes should now work as a cluster like the diagram below.

SI_Cluster - Part 3

 

 

1 comment on “Sterling B2B Integrator Installation: Part 3 – SB2BI Node 2 & ClusteringAdd yours →

  1. Hi Erlend,

    Followed all the steps as per your blog, after updating jgroup_properties files,
    When I try to run ./setupfiles.sh or startcluster.sh or deployer.sh files
    I am getting an error “File Containing list of directories to be excluded from
    scanning for munging was not found, using Default excludes now”

    Note : SB2BI -> 5.2.5 and Centos and JDK_x86_64 (using same environment and tools
    showcased in this blog)

    Please advice what could be the issue and how this can be resolved ?

    Thanks
    Guna

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: