Jaap Poot, 8 oktober 2015
Dynamically scale Weblogic in a private Cloud
2
Jaap PootPrincipal Oracle ConsultantSince feb 2013 @
Fusion MiddlewareExalogicOVMLinuxDBA
Introduction
https://nl.linkedin.com/in/jpoot
https://technology.amis.nl/http://www.fmwadmin.com/
3
Agenda
• Dynamic Clusters– Server templates– Macros– Scaling– WLST– Roadmap
• Elastic JMS– JMS Servers– Persistent Stores– Scaling– Limitations
• Demo
4
Dynamic Clusters
• Introduced in Weblogic 12.1.2
• Consists of one or more servers instances
• Easy scaling of WebLogic clusters
• Preconfigured server instances
• Add additional server instances on demand
5
Dynamic Clusters (cont.)
• Based on a single shared server template
• Calculated server-specific attributes– Servername, listen ports, machines, etc
• Mixed cluster of dynamic and configured Server instances is possible
6
Dynamic cluster creation
• Create a new Server Template or clone an existing one
• Specify the number of preconfigured server instances
• Key attributes for the configuration– Server Name, Listen Ports, Machines, etc..
• Each server instance has the same configuration
• Add additional servers as needed, based on the same Server Template
7
Server templates
• Specify common attributes for a groupof server instances
• Used with dynamic clusters andconfigured managed servers
• Macros can be used for any string attribute
8
Server templates (cont.)
• Changes to the template are carried through to the dynamic server instances.
• No changes can be made to individual dynamic server instances
9
Server templates Macros
• Macros can be used for any string attribute.– Not for integers or referenced elements
• Available macros for server-specific configuration:– ${id}– ${serverName}– ${clusterName}– ${domainName}– ${system-property-name}
10
Server templates Macros
• Example of macro usage.
– Define your own system property name in setUserOverride.sh
HOSTNAME=`hostname`JAVA_OPTIONS="${JAVA_OPTIONS} -Dhostname=${HOSTNAME}"
11
Dynamic Clusters - Scaling
• Prerequisites– Weblogic installed on all available servers– Unpacked domain– Nodemanager running
• Scale out or in as required
• Start/stop preconfigured server instances
• Increase/lower the number of preconfigured servers
• Change only one number!
When decreasing.Servers above the maximum must be shutdown first !
12
Dynamic Clusters - WLST
• Script all aspects of dynamic clusters
• Create, modify, delete server templates, dynamic clusters
• Simple example of Cluster creation script in Oracle documentation
• Use standard monitoring tools to trigger scripts for scaling in and out
13
WLST scaling example
• wlst.sh scaleDynamicCluster.py clustername numberofservers
14
Roadmap Dynamic Clusters
12.2.1
15
JMSBefore Weblogic Server 12.1.2
• JMS Servers– Each individually configured– Targeted at a single Managed Server
• WebLogic Persistent Stores– Each individually configured– Targeted at a single Managed Server
• Subdeployments– Update the subdeployment for each new JMS Server– list each JMS Server in the cluster for a distributed queue
16
Elastic JMS
• Target JMS Server to a (Dynamic) Cluster
• Simplified configuration– Configure JMS only once for a cluster.– No need for individually configured JMS Servers and related items.
• Elastic scalability– Elastic JMS scales when you scale the cluster
• Support for Dynamic Clusters– Supported on configured, dynamic and mixed clusters
17
Elastic JMS – JMS Servers
• Configure one JMS Server for the cluster– No matter how many managed servers are in the cluster.
• Under the hood– A JMS server is created on each managed server
18
Elastic JMS – Persistent Store
• Configure one Persistent Store
• Under the hood– A Persistent Store is created for each managed Server– For JDBC stores, each instance gets its own underlying table in the same schema
19
Elastic JMS - Configuration
20
Elastic JMS - Scaling
• JMS Servers– Adding or removing server instances to/from the cluster automatically adds or
removes JMS Servers.
• WebLogic Persistent Stores– Like JMS Servers, adding or removing servers to/from the cluster automatically adds
or removes Persistent stores
• Subdeployments– When you scale the cluster, a distributed queue is automatically extended/decreased
to the new JMS Server instance without any changes to the subdeployment
21
Elastic JMS – Limitations
• Automatic Service Migration (ASM) is not supported
• Store-and-Forward (SAF) Agents cannot be targeted
• Singleton destinations are not directly supported
• Weighted distributed destinations are not supported
• Replicated distributed topics (RDTs) are not supported
• AQ-JMS integration is not supported
22
Demo
Domain: demo_domain Weblogic 12.1.3.0.2
wls01.domain.local192.168.100.41
Nodemanager
AdminServerPort 7001
wls03.domain.local192.168.100.43
Nodemanager
wls02.domain.local192.168.100.42
Nodemanager
wls04.domain.local192.168.100.44
Nodemanager
26
Demo Summary
Oracle HTTP Server 12.1.3WebLogic Proxy Plug-In
(mod_wl_ohs)
Domain: demo_domain Weblogic 12.1.3.0.2
wls01.domain.local192.168.100.41
Nodemanager
AdminServerPort 7001
wls03.domain.local192.168.100.43
Nodemanager
wls02.domain.local192.168.100.42
Nodemanager
wls04.domain.local192.168.100.44
Nodemanagerdyna-server-3Port 8003
dyna-server-4Port 8004
dyna-cluster
dyna-server-1Port 8001
dyna-server-2Port 8002
27
Questions
?
28