Creating and scaling Dynamic Clusters in Weblogic 12c

2

Introduced in Weblogic 12.1.2, dynamic clusters is a great feature to scale your private cloud.
Dynamic clusters provides you easy scaling of Weblogic clusters by adding and removing managed server instances on demand. They contain one or more dynamic servers. These dynamic servers are based on a single servertemplate that guarantees that every member of the cluster is exactly the same.

Creating Dynamic Clusters

Let’s take a look at some of the possibilities as we create a dynamic cluster.

I have created a virtualbox environment.
This environment consists of four VM’s with the following specs.

  • 2 vCPU’s
  • 4 Gb memory
  • 50 Gb disk
  • Oracle Linux 6.6
  • Java 1.7.0_75
  • Weblogic 12.1.3.0.2

I created a simple domain called demo_domain with only an AdminServer and four machines.
After unpacking the domain to the four servers, the nodemanagers where started and are reachable by the AdminServer.

Domain-pic1Now let go through the process of creating a dynamic cluster.

Open the Weblogic Console and navigate to Environment -> Clusters
Lock and Edit the domain in the Change Center
note. I make it a good practice always creating a domain in production mode, even in Development and Test.

Create a new dynamic cluster

Domain-cap1

New -> Dynamic Cluster

Provide the Clustername

Domain-cap2
Cluster name: dyna-cluster
Click Next

We will start of with a cluster containing two dynamic servers.

Domain-cap3
Number of Synamic Servers: 2
Server Name Prefix: dyna-server-
Click Next

For this demo all machines will take part.

Domain-cap4
Select ‘Use any machine configured in this domain’
Click Next

Assign each dynamic server unique listen ports

Domain-cap5
Listen Port for First Server: 8000
SSL Listen Port for First Server: 9000
Click Next

Summary screen

Domain-cap6
Click Finish

With the creation of the Dynamic Cluster there is also a Server Template created for it.

Server templates

A single server template provides the basis for the creation of the dynamic servers. Using this single template provides the possibility of every member being created with exactly the same attributes. Where some of the server-specific attributes like Servername, listen-ports, machines, etc. can be calculated based upon tokens.
You can pre-create server templates and let Weblogic clone one when a Dynamic Cluster is created.
When none is available a server template is create with the Dynamic Cluster. The name and the listen ports are the only server template attributes that you provide during Dynamic Cluster creation.

Before we activate the changes to the domain, we are going to make a change to the server template.
As an example we are going to demonstrate the use of tokens for server-specific configuration.

Navigate to Environment -> Clusters -> Server Templates

Domain-cap8
Click on the name: dyna-server-Template

We are going to use the ${ID} token in the Listen Address

Domain-cap10
Listen Address: 192.168.100.4${ID}
Click Save

The last digit of the listen address is used to make the listen address dynamic.

Activate changes in the Change Center of the Weblogic Console.
After activation the cluster and two managed servers are created.

Domain-cap12Domain-cap11

We can now start the two servers.

In the previous steps we have added a dynamic cluster with two dynamic servers, based on a single server template, to the domain.

Domain-pic2

Scaling a Dynamic Cluster

When the capacity is insufficient and you need to scale-up, you can add dynamic servers on demand.
It requires only a few clicks.

Navigate to Environment -> Clusters

Domain-cap12
Click dyna-cluster

On the Configuration tab go to the Servers tab

Domain-cap13
Change the Maximum Number of Dynamic Servers to: 4
Click save

Activate changes in the Change Center of the Weblogic Console.
After activation two Dynamic Servers are added to the Dynamic Cluster.

Start the two new Dynamic Servers and you have doubled you capacity.

Domain-cap14

Domain-pic3
Scaling down works exactly the same.
Just lower the Maximum Number of DynamicServers and activate.

A few points to keep in mind when scaling up or down.

Up

  • New dynamic servers are not started upon creation
  • Think before you act with the use of Tokens.
    For example.
    In our demo, the number of Dynamic servers can’t grow beyond nine servers, since we use the ${ID} as last digit of the listen address.

Down

  • Dynamic Servers above the new Maximum have to be shutdown before the change can be activated.
  • Dynamic Servers are removed in order, Last -> First
    (In our demo dyna-server-4 gets removed first, then dyna-server-3, etc..)
  • You cannot remove a Dynamic Server directly from the Environment -> Servers page

About Author

Jaap Poot was a Principal Oracle Consultant at AMIS, an Oracle, Java, and SOA specialist based in The Netherlands. He worked as a consultant with the main focus on Fusion Middleware products. With wide knowledge in other areas such as Exalogic, ODA, Oracle VM, Linux, Database, provisioning, networking and several scripting languages.

2 Comments

  1. Hi Alejandro,
    Indeed, I would advise to spread the managed servers over multiple machines.
    But you could also have multiple managed servers per machine to take care of possible process crashes.
    In my lab environment I have another VM with Webtier installed using Oracle WebLogic Server Proxy Plug-In. With the use of Dynamic server list it need limited configuration.
    There are Proxy Plug-in’s for Oracle and Apache HTTP Server, I-Planet and Microsoft IIS Webserver.
    As far as I know there is also support for some hardware loadbalancers like BIG-IP, e.a.

  2. Alejandro Quiroga on

    Hi, just one question, How the balancer in front or the cluster address to support failover should be configured? I guess that a minimum of one managed server should be on each machine to warranty the HA.