280 likes | 288 Views
Dynamically scale Weblogic in a private Cloud. Jaap Poot, 4 juni 2015. Introduction. Jaap Poot Principal Oracle Consultant Since feb 2013 @ Fusion Middleware Exalogic OVM Linux DBA. jaap.poot@amis.nl https://nl.linkedin.com/in/jpoot https://technology.amis.nl/
E N D
Dynamically scale Weblogic in a private Cloud Jaap Poot, 4 juni 2015
Introduction Jaap Poot Principal Oracle Consultant Since feb 2013 @ Fusion Middleware Exalogic OVM Linux DBA jaap.poot@amis.nl https://nl.linkedin.com/in/jpoot https://technology.amis.nl/ http://www.fmwadmin.com/
Agenda • Dynamic Clusters • Server templates • Macros • Scaling • WLST • Roadmap • Elastic JMS • JMS Servers • Persistent Stores • Scaling • Limitations • Demo
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
Dynamic Clusters (cont.) • Based on a single shared server template • Calculated server-specificattributes • Servername, listen ports, machines, etc • Mixed cluster of dynamic and configured Server instances is possible
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
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
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
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}
Server templates Macros • Example of macro usage. • Define your own system property name in setUserOverride.sh HOSTNAME=`hostname` JAVA_OPTIONS="${JAVA_OPTIONS} -Dhostname=${HOSTNAME}"
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 !
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
WLST scaling example • wlst.sh scaleDynamicCluster.py clustername numberofservers
Roadmap Dynamic Clusters 12.2.1
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
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
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
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
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, adistributed queue is automatically extended/decreased to the new JMS Server instance without any changes to the subdeployment
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
Demo Weblogic 12.1.3.0.2 Domain: demo_domain AdminServer Port 7001 Nodemanager Nodemanager Nodemanager Nodemanager wls02.domain.local 192.168.100.42 wls01.domain.local 192.168.100.41 wls04.domain.local 192.168.100.44 wls03.domain.local 192.168.100.43
Demo Weblogic 12.1.3.0.2 Domain: demo_domain AdminServer Port 7001 Nodemanager Nodemanager Nodemanager Nodemanager wls02.domain.local 192.168.100.42 wls01.domain.local 192.168.100.41 dyna-server-2 Port 8002 dyna-server-1 Port 8001 dyna-cluster wls04.domain.local 192.168.100.44 wls03.domain.local 192.168.100.43
Demo Weblogic 12.1.3.0.2 Domain: demo_domain AdminServer Port 7001 Nodemanager Nodemanager Nodemanager Nodemanager wls02.domain.local 192.168.100.42 wls01.domain.local 192.168.100.41 dyna-server-2 Port 8002 dyna-server-4 Port 8004 dyna-server-1 Port 8001 dyna-cluster wls04.domain.local 192.168.100.44 wls03.domain.local 192.168.100.43 dyna-server-3 Port 8003
Demo Oracle HTTP Server 12.1.3 WebLogic Proxy Plug-In (mod_wl_ohs) Weblogic 12.1.3.0.2 Domain: demo_domain AdminServer Port 7001 Nodemanager Nodemanager Nodemanager Nodemanager wls02.domain.local 192.168.100.42 wls01.domain.local 192.168.100.41 dyna-server-2 Port 8002 dyna-server-4 Port 8004 dyna-server-1 Port 8001 dyna-cluster wls04.domain.local 192.168.100.44 wls03.domain.local 192.168.100.43 dyna-server-3 Port 8003
Demo Summary Oracle HTTP Server 12.1.3 WebLogic Proxy Plug-In (mod_wl_ohs) Weblogic 12.1.3.0.2 Domain: demo_domain AdminServer Port 7001 Nodemanager Nodemanager Nodemanager Nodemanager wls02.domain.local 192.168.100.42 wls01.domain.local 192.168.100.41 dyna-server2 Port 8002 dyna-server2 Port 8002 dyna-server1 Port 8001 dyna-cluster wls04.domain.local 192.168.100.44 wls03.domain.local 192.168.100.43 dyna-server3 Port 8003