sunny_bansal

Molecule Setup in Google Cloud

Blog Post created by sunny_bansal Employee on Apr 17, 2018

Dell Boomi provides numerous options to architect your runtime platform. You can place your runtime engine in Dell Boomi cloud, private cloud, locally, and even in a hybrid environment. There are different runtime configurations such as a single Atom, a Molecule, and group of Atoms to support various customer requirements. Out of those runtime options, Molecule is the most efficient way to support high volume with scalability. As companies are moving their applications and infrastructure on various cloud providers such as Amazon, Azure, and Google Cloud, it is mandatory to keep Boomi runtime at one of those cloud vendors. With Dell Boomi, it is very quick to install Boomi runtime into any cloud infrastructure. This blog is going to explain in detail the steps involved to install a Boomi Molecule runtime on Google Cloud. The steps involve provisioning of VMs (nodes) and a shared file server on the Google Cloud Platform followed by the installation of a Dell Boomi Molecule on the shared file server.


I shall outline the process of setting up a Molecule on the Google Cloud Platform by using free Google Cloud offerings. The complete process may vary according to requirements of a customer based on various factors such as CPU load, I/O, RAM, storage type, storage amount, and network security. A basic understanding of the Boomi Platform, Cloud concepts, and Linux commands is sufficient to complete this setup. Initial steps will focus on setting up Google Cloud environment followed by installation on Boomi Molecule runtime.


I look forward to your feedback and will do my best to efficiently respond to each comment or question.

 

 

Create a Shared File Server

  • Click on “Cloud Launcher” to look for single node file server VM. There are many file servers available on Google Cloud and “single node file server” will be used as a shared file server for this setup. Refer to all file servers available on Google Cloud.

  • Search for “file share” and select “Single node file server”

  • Click on “LAUNCH ON COMPUTE ENGINE” to deploy the file server.

  • Modify the below screen as per requirements. Don’t forget to keep a note of the region that has been selected. The same region should be used while creating VM instances. Click “Deploy” after all configuration is complete. Refer to single node file server for more information.

  • The next screen will highlight the basic information regarding the file server such as OS, associated software, and access details. Make a note of the mount command as it will be helpful in mounting the shared storage from the nodes.

  • The shared file server has been created.

 

Create a Node in Google Cloud

  • Open VM instances.

  • Click “Create” in VM instances

  • Complete the below form as per the requirements and click “Create”.

Note: The VM can be configured as per your requirements or guidelines from the customer such as OS, Zone (should be same as Shared File Server’s zone), firewall etc.

  • Once the instance has been created, it will appear as below:

 

Installing Molecule on Google Cloud

  • Open node1 via SSH by the feature provided in Google Cloud.

  • A new browser window will open showing an SSH connection to the VM. There are other ways to connect to Google Cloud such as gcloud command, PuTTY, etc.

  • Run the below commands to set up the VM instance
    • To update an existing package
  • sudo yum update
  • Make below directories to install molecule
  • sudo mkdir /mnt/data
  • sudo mkdir /mnt/data/molecule
  • Mount the shared file server to node1
  • sudo mount -t nfs google-cloud-boomi-file-share-vm:/data /mnt/data
  • Create a new user and make it the owner of the shared file server location
  • sudo useradd -u 510 boomi
  • sudo ln -s /mnt/data/molecule /usr/local/boomi/molecule
  • sudo chown boomi:boomi /mnt/data/molecule
  • sudo chown boomi:boomi /usr/local/boomi/work
  • Download and install JDK by using the command
  • Download Molecule installer and run it as “boomi” user

[boomi@google-cloud-boomi-node1 tmp]$ ./molecule_install64.sh
Starting Installer ...
This will install a Molecule on your computer.
OK [o, Enter], Cancel [c]

Enter your user name and password or a token and supply a name for your Molecule.
Use the email address and password that you use to sign into your Boomi
AtomSphere account or select Token to use a Boomi-generated token.
User Name and Password [1, Enter], Token [2]

User Name
[]
xxxxxx@xxxxx.com
Password

Molecule Name
[google-cloud-boomi-node1.c.goole-cloud-boomi-demo.internal]
google-cloud-boomi-demo
The following entries are required if the installation machine requires a
proxy server to open the HTTP connections outside of your network.
Use Proxy Settings?
Yes [y], No [n, Enter]
n
Logging into Boomi.
Authenticating credentials
Choose an account.
Please select the account with which this Molecule will be associated. A
Molecule can only be associated with one account.
Boomi XXXX Account1 - [1]
Boomi_Sunny Bansal - [2]
Boomi XXX account 3 - [3]
2
Choose an installation directory.
[/home/boomi/Boomi_AtomSphere/Molecule/Molecule_google_cloud_boomi_demo]
/usr/local/boomi/molecule/Molecule_FS_Demo

Please select the location of the local and local temp directories. Both locations must be on the local disk and must have sufficient disk space for the Molecule's operation.
Local Directory
[]
/usr/local/boomi/work
This setting sets the Working Data Local Storage Directory property
(com.boomi.container.localDir in the container.properties file). For more
information, see the User Guide.

Local Temp Directory
[/tmp]

This setting overrides the default Java local temp directory (java.io.tmpdir
in the atom.vmoptions file).
Create symlinks?
Yes [y, Enter], No [n]
n
Please read the following important information before continuing.

The following will be installed when you choose to continue:

Molecule - google-cloud-boomi-demo
Installation Directory - /mnt/data/molecule/Molecule_FS_Demo
Local Directory - /usr/local/boomi/work
Local Temp Directory - /tmp
Program Group - Boomi AtomSphere\Molecule - google-cloud-boomi-demo

[Enter]

Retrieving Build Number
Extracting files...

Downloading Atom Files
Downloading Molecule Files
Retrieving Container Id
Retrieving account keystore.
Retrieving account trustore.
Configuring Molecule.
The Molecule has been installed on your computer.
Molecule Name: google-cloud-boomi-demo
Preferred JVM: /usr/java/jdk1.8.0_161
Finishing installation...

  • Login to the Atomsphere platform and the new Molecule will appear.

  • Go to properties and add properties in the Advanced tab. Atom will be re-booted upon save.
    The format of Initial Hosts for Unicast is xxx.xx.xx.xxx[7800].

  • Installation of the first node is finished.

 

Adding Additional Nodes

  • Create a snapshot of existing node1.

  • Create a new instance from the snapshot

  • Change the OS and select the “Snapshots” tab to choose the snapshot previously created.

  • All VM instances will show below.

  • Open node 2 via SSH.
    • Run the below commands.
  • sudo mount -t nfs google-cloud-boomi-file-share-vm:/data /mnt/data
  • start node2 atom
  • sudo su boomi
  • ./atom start

 

Key Points

  • The commands may vary according to the different OS’s you choose while creating VM instances AND Shared file server.
  • The packages such as apt and yum may vary based upon the OS you choose. E.g. for RHL, the yum package is used but for Debian, the apt package will be used.
  • Always run all the commands as sudo.
  • It is preferable to create a snapshot of the VM instead of creating a new VM from scratch. This will reduce the possibility of human error.
  • Refer to the logs created at /mnt/data/molecule/Molecule_FS_Demo/logs location, this will help to debug the issues related to molecule setup.
  • Modification to the file at the NFS server might be necessary to allow the NFS client to change the owner of the NFS location.


Note: command “sudo chown boomi:boomi /mnt/data/molecule” might fail if the below changes are not done in the NFS server file system.
File location: /etc/exports
Old content:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/data 10.0.0.0/8(rw,no_subtree_check,fsid=100)
/data 127.0.0.1(rw,no_subtree_check,fsid=100)

New content:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/data 10.0.0.0/8(rw,no_subtree_check,no_root_squash,fsid=100)
/data 127.0.0.1(rw,no_subtree_check,no_root_squash,fsid=100)

 

References

Outcomes