Preconfiguring Weblogic for cluster support

<< Click to Display Table of Contents >>

Navigation:  Bizagi Engine > Bizagi system administration > Bizagi server configuration > Bizagi Engine JEE platform configuration > Configuring a JEE application server to work with Bizagi > Weblogic configuration > Clustered Weblogic configuration >

Preconfiguring Weblogic for cluster support

This section describes the steps and guidelines for cluster configuration in Weblogic.

These steps are required to carry out the configuration in Weblogic to work with Bizagi in a cluster.

For more information about the entire procedure for this, refer to Clustered Weblogic configuration.

 

 

oracle_WebLogic

 

Objectives

Configuration of a Weblogic cluster for high availability involves certain preconfiguration steps (before actually setting up configuration for Bizagi processes) to have a central management of nodes involved in a cluster.

In this central management, the following capabilities are considered:

 

1. Each node will be able to be assigned with, and to process requests.

2. Each node will be able to report changes so that these are propagated through the other nodes.

3. In the event of any node's service becoming unavailable, requests will be handled and re-distributed properly amongst other nodes.

 

 

Prerequisites

To configure your Weblogic Application Server in a Test or Production environment, the following are required:

Installed JAVA SE's JDK in each node that makes part of the cluster. It is strongly recommended to use JDK 7.

JAVA_HOME environment variable properly configured in each node of the cluster (it is recommended that this path definition does not contain spaces).

Have at hand the configuration and deployment files delivered by Bizagi (BizAgi-ear-Weblogic-dist.zip).

It is required that this BizAgi-ear-Weblogic-dist.zip (provided when downloading Bizagi Engine JEE Weblogic) matches the version you used in your development environment (i.e Bizagi Studio's version and JEE Plugin).

Installed Weblogic Server version 12c R1.

The supported Weblogic version is 12.1.3.

Weblogic can be downloaded from the official Oracle site.

Make sure that you select the appropriate installer for your system, that your system meets the requirements recommended by Weblogic (or other best practices issued by Oracle as the vendor), and that you follow the guidelines presented in the next section (Weblogic requisites), such as creating a user domain and other general recommendations such as installing Weblogic into a directory which does not contain blank spaces or parenthesis.

 

 

Weblogic requirements

To install Weblogic (once its prerequisites are met), make sure you consider the following:

Installing all components of the Weblogic Server.

 

Weblogic12_install01_cluster

 

Note that since this this procedure configures Weblogic for a cluster configuration, you will need to include Oracle Coherence.

 

Choosing your local JDK home to reference in the installation (using specifically JDK 7).

Do NOT choose to install a bundled Java from the list, because its likely that the versions in this list are not supported.

 

Weblogic12_install02

 

Choosing to install the Windows Service (applicable if your operating system is Windows).

 

Weblogic12_install03

 

For a complete guide on how to install Weblogic, please refer to Oracle's documentation.

This installation path will be referenced as your <WEBLOGIC_HOME> from this point on.

 

note_pin

Keep in mind that installing Weblogic is required for each node you want to have in your Weblogic cluster.

This means repeating the above steps in each node.

 

 

Cluster configuration

Once Weblogic is installed, you will need to: Create a domain for Bizagi, and register your cluster with its corresponding nodes and detail.

For this, you may use the Run Quickstart options in the Weblogic installation wizard, in order to assist you with this subject.

 

Note that this step is required only once, no matter how many nodes you have.

Within the Quickstart options, locate the Getting started with Weblogic Server option and select Create a new Weblogic domain.

 

You may choose to directly use the Generate a domain configured automatically option to and have Weblogic help you with these steps.

Weblogic12_domain01

 

For further guide and information on this subject, refer to Weblogic's official documentation.

When creating the domain, acknowledge the name and path of your created domain.

Click Next.

 

Weblogic12_domain02

 

Configure the username and password for the administrator who will be able to start up the server and access the Administration Console.

In this example, the username is admin. Click Next.

 

weblogic_user

 

 

note_pin

Keep in mind that you will have to define credentials for an authorized user for this domain. You will define its user name and password and therefore you should remember these to use them later on.

 

In the Configure Sever Start Mode and JDK window, select the option Production Mode in the panel called WebLogic Domain Startup Mode. For the JDK Selection, you may keep the selection for the available JDK.

Click on Next.

 

weblogic_ServerStartMode

 

 

In the configuration screen, in order to configure a clustered environment, make sure you choose these options:

Administration Server and Managed Servers, clusters and machines.

For the Administration server's configuration, enter the following detail:

Name: AdminServer

Listen address : The IP address of the main server.

Listen port : The port number which will be used for this administration server. By default it will use 7001.

Notice that when planning on using SSL, you will need to enable the SSL feature by ticking that checkbox and specifying the SSL listen port.

 

Click on Next.

You will need to carry out the cluster management configurations through the steps related to Configure Managed servers.

In the options to configure the managed servers, ensure you register and specify the detail regarding all nodes that will make part of your Weblogic cluster. To do this, add a new record for each node with this information:

Name: The name of the node.

Listen address : The IP address of that node.

Listen port : The port number which will be used by the node.

Notice that when planning on using SSL, you will need to enable the SSL feature by ticking that checkbox and specifying the SSL listen port.

 

Weblogic12_install04_cluster

 

Click on Next. Proceed to configure the messaging parameters for your cluster.

When configuring such parameters, make sure you enter the following:

Name : The name of the cluster.

Message mode: Select Unicast.

Cluster address : The IP addresses of all nodes associated to this cluster. These should be concatenated all together by using commas to separate each address. For example: [IP_Node1], [IP_Node2], [IP_NodeN]

 

Weblogic12_install05_cluster

 

Click on Next. Then, make sure you also assign each node to the cluster explicitly (by including them into the cluster's list of nodes).

 

Weblogic12_install06_cluster

 

Click on Next. When configuring detail of the involved machines, make sure you enter the location of those machines which have 1 or more nodes in the cluster.

Their IP address must match those defined previously for the nodes' detail.

 

In addition to this, you may specify the port number under which the synchronization will take place for the cluster (by default, set to port 5556).

Keep in mind that this configuration is to be done under the corresponding OS' tab (choose Windows or Unix-like).

 

Weblogic12_install07_cluster

 

Finally, and in the options to associate each server instance to machines, make sure you include all of them and that you also consider the AdminServer instance and its location to handle both clusters with vertical or horizontal scalability (keep in mind it is recommended that this AdminServer instance is set into a dedicated physical machine, since it will be in charge of the cluster administration tasks).

Review the configuration settings of your domain before the Configuration Wizard creates the domain (at the summary information). When done, click Create.

 

For further guide and information on this subject, refer to Weblogic's official documentation.

You may verify that the created domain and you cluster set up is properly defined by starting up your domain's service.

 

 

Synchronizing changes in the cluster

Once you have finished configuring your cluster in Weblogic, or anytime right after major changes are done in it (for instance, recently adding a new node to the cluster), you will need to synchronize these changes.

This is done from the modified configuration as a manual replication of information, updated  into the nodes through a template.

To do this, carry out the following:

 

1. Open a command prompt and locate the common\bin directory of Weblogic's installation path (at <WEBLOGIC_HOME>\wlserver_12.1\common\bin\).

This must be done from the machine on which changes were recently made.

 

2. From this bin location, execute the following command:

For a Unix-like OS such as Linux:

pack.sh -managed=true -domain=<WEBLOGIC_HOME>/user_projects/domains/[CLUSTER_DOMAIN] -template=template.jar -template_name="[CLUSTER_DOMAIN]"

 

For a Windows OS:

pack.cmd -managed=true -domain=<WEBLOGIC_HOME>\user_projects\domains\[CLUSTER_DOMAIN] -template=template.jar -template_name="[CLUSTER_DOMAIN]"

 

note_pin

This command will export a .jar template having the name of the cluster domain to be used to replicate changes.

By default, this template will be saved into the <WEBLOGIC_HOME>\wlserver_12.1\common\bin\ path with the same name of the domain (though you may edit through template_name).

 

3. Copy the exported template called [CLUSTER_DOMAIN].jar  into those machines having nodes of the cluster which have not been synchronized yet. According to this, note that this step will need to be repeated according to the amount of nodes you have for your cluster (until all of them are synchronized).

Place this template in a local path having no spaces (for instance, you may choose Weblogic's installation root path:<WEBLOGIC_HOME>).

 

4. Open a command prompt and locate the common\bin directory of Weblogic's installation path (at <WEBLOGIC_HOME>\wlserver_12.1\common\bin\).

Keep in mind that this now is done in a machine on which changes have not been applied.

 

5. From this bin location, execute the following command:

For a Unix-like OS such as Linux:

unpack.sh -template=<WEBLOGIC_HOME>/[CLUSTER_DOMAIN].jar -domain=<WEBLOGIC_HOME>/user_projects/domains/[CLUSTER_DOMAIN]

 

For a Windows OS:

unpack.cmd -template=<WEBLOGIC_HOME>\[CLUSTER_DOMAIN].jar -domain=<WEBLOGIC_HOME>\user_projects\domains\[CLUSTER_DOMAIN]

 

note_pin

Make sure you specify the appropriate value for -domain and -template, so that it matches the path and the template name as configured in previous steps (especially when having customized them).

 

6. Once finished, verify that the configuration file used by your nodes is properly set.

This file is found as <WEBLOGIC_HOME>\wlserver_12.1\common\nodemanager\nodemanager.properties.

In this properties file, make sure:

StartScriptName: Has the startWebLogic executable assigned to it.

This executable file will differ according to the operating system.

For Windows it should be referred to as: StartScriptName=startWebLogic.cmd

For Unix-like OS it should be referred to as: StartScriptName=startWebLogic.sh

StartScriptEnabled: Should be assigned to true.

This property should be set as: StartScriptEnabled=true

 

note_pin

When running NodeManager in 64-bit platforms, it is likely that you need to specify the use of:
NativeVersionEnabled=true

 

Save these changes and close the properties file.

 

 

7. To verify that synchronization of changes has taken place, first execute each node's manager through a command prompt (use of the NodeManager is instantiated through the following command):

For a Unix-like OS such as Linux:

<WEBLOGIC_HOME>/wlserver_12.1/server/bin/startNodeManager.sh

 

For a Windows OS:

<WEBLOGIC_HOME>\wlserver_12.1\server\bin\startNodeManager.cmd

 

Notice that execution of this manager will be started under the 5556 port:

 

WLCluster_synch

 

 

8. When each node's manager is operative, start up your Weblogic's services by using the startWebLogic executable.

To do this, execute the following from a command prompt according to your operating system.

 

For a Unix-like OS such as Linux:

<WEBLOGIC_HOME>/user_projects/domains/[CLUSTER_DOMAIN]/bin/startWebLogic.sh

 

For a Windows OS:

<WEBLOGIC_HOME>\user_projects\domains\[CLUSTER_DOMAIN]\bin\startWebLogic.cmd

 

In this way, you may now access Weblogic's administration console, by inputting the following URL in a browser of your choice.

http://localhost:7001/console/login/LoginForm.jsp

 

To verify that all nodes are updated and responding to your cluster configuration, browse to the Environment section, where you will be able to click the Servers options to see a list of your cluster nodes (and for instance, be able to start them up through the options at the Control tab):

 

WLCluster_synch02

 

 

Notice how the State column will indicate when each node's service is either started up or stopped (RUNNING / SHUTDOWN).

Once you have completed these steps and verified  the proper cluster configuration, you may choose to stop your node's services (from the Shutdown options) and stop the Weblogic cluster (through the stopWebLogic executable as described in the following Weblogic options section).

 

Once you are done with these steps, continue to Configuring Weblogic in a cluster to work with Bizagi.

 

 

Scalability

If you have already setup your Weblogic cluster and it is up and running with a given number of nodes, then you may at anytime add new nodes to your cluster as a scalability measure.

 

To do so, make sure you:

 

1. Register the new node in the cluster.

 

2. Synchronize changes to include the new node.

 

3. Perform Weblogic configuration to work with Bizagi.

This means setting up the new node with all the libraries and configuration involved for a Weblogic service.

Note that Bizagi recommends setting up horizontal clustering.

 

4. Review the load balancer configuration so that it considers the new node.