Overview
This section describes how to setup a WebLogic 9.2 cluster on Linux servers using the BEA WebLogic Scripting Tool (WLST). WLST is a scripting tool installed with WebLogic that allows for command-line configuration of the WebLogic server. The set of scripts provided here along with these instructions will allow you to setup a WebLogic cluster in your environment with ease.
Clustering Scripts Setup
In preparation for running the WLST scripts to create a cluster, you will need to download the WLST Clustering Scripts (ZIP, 7KB) and unzip it to a directory. After that, configure the environment variables in all of the scripts to match your environment. A description of the variables that will need to be set can be found in the section Environment Variables to Configure in the WLST Scripts. After that, copy the files to the servers that you will be using in the cluster. You will then need to navigate to this directory on a server to execute any of the scripts on that server.
Steps to Create the WebLogic Domain and Setup the Cluster
On the Server hosting the AdminServer:
Create a domain with AdminServer and a cluster of two managed servers
WL_HOME/common/bin/wlst.sh createcluster.py DOMAIN_NAME CLUSTER_NAME | |
Start the node manager and AdminServer | WL_HOME/common/bin/wlst.sh startadminserver.py DOMAIN_NAME |
Setup JDBC Data Source | WL_HOME/common/bin/wlst.sh createjdbc.py t3://AdminServerIP:AdminServerHttpPort CLUSTER_NAME |
Pack the domain | WL_HOME/common/bin/pack.sh -managed=true -domain=DOMAIN_PATH -template=DOMAIN_TEMPLATE -template_name=DOMAIN_TEMPLATE_NAME |
On all servers not hosting the AdminServer:
Unpack the domain | Copy DOMAIN_TEMPLATE from the server hosting the AdminServer to the same directory on all other servers that are apart of the cluster and then execute the following command on the servers to create the base domain: WL_HOME/common/bin/unpack.sh -domain=DOMAIN_PATH -template=DOMAIN_TEMPLATE |
Enroll the node manager with AdminServer and then start it | Execute the following command on the servers to setup the node managers and start them: WL_HOME/common/bin/wlst.sh enrollnodemanager.py t3://AdminServerIP:AdminServerHttpPort DOMAIN_NAME |
On the Server hosting the AdminServer:
Deploy the Elastic Path code to the cluster | WL_HOME/common/bin/wlst.sh deploy.py t3://AdminServerIP:AdminServerHttpPort DEPLOYMENT_NAME APPLICATION_PATH CLUSTER_NAME |
Start the cluster | WL_HOME/common/bin/wlst.sh startcluster.py t3://AdminServerIP:AdminServerHttpPort CLUSTER_NAME |
Additional Useful Scripts
To create another server in the cluster, execute this command after step 1 | WL_HOME/common/bin/wlst.sh createmanagedserver.py DOMAIN_NAME CLUSTER_NAME |
To shut down server ServerName | WL_HOME/common/bin/wlst.sh stopserver.py DOMAIN_NAME ServerName |
To remove a deployment | WL_HOME/common/bin/wlst.sh undeploy.py t3://AdminServerIP:AdminServerHttpPort DEPLOYMENT_NAME |
Descriptions of Constants Used in Setup Steps
BEA_HOME | The BEA Home directory where files common to all BEA products are stored (eg. /opt/bea/) |
WL_HOME | The WebLogic Server product installation directory (eg. /opt/bea/weblogic92/) |
AdminServerIP | The IP address of the server that the AdminServer is on |
AdminServerHttpPort | The port for the AdminServer to listen to http requests on |
DOMAIN_NAME | The name of the clustered domain to be created (eg. epclusterdomain) |
DOMAIN_PATH | BEA_HOME/user_projects/domains/DOMAIN_NAME (the path to the clustered domain) |
DOMAIN_TEMPLATE | The filename of the domain template to be created or accessed (eg. BEA_HOME/user_templates/epclusterdomain_managed.jar) |
DOMAIN_TEMPLATE_NAME | The descriptive name of the domain template to be created (eg. "EP Clustered Domain") |
CLUSTER_NAME | The name of the cluster to create (eg. wlsCluster) |
DEPLOYMENT_NAME | The name for the deployment of Elastic Path application code (eg. epsf_cluster_deployment) |
APPLICATION_PATH | The path to where the Elastic Path application has been setup (eg. /home/build/ep_weblogic/com.elasticpath.sf/) |
Environment Variables to Configure in the WLST Scripts
BEA_HOME | The BEA Home directory where files common to all BEA products are stored (eg. /opt/bea/) |
WL_HOME | The WebLogic Server product installation directory (eg. /opt/bea/weblogic92/) |
JAVA_HOME | The root directory of the Java JDK install that is used to run WebLogic (eg. /opt/j2sdk) |
AdminServerIP | The IP address of the server that the AdminServer is on |
AdminServerHttpPort | The port for the AdminServer to listen to http requests on |
AdminServerHttpsPort | The port for the AdminServer to listen to https requests on |
AdminServerPassword | The password used to connect to the AdminServer as default user weblogic |
Machine1IP | The IP address of the server hosting the first managed server in the cluster |
Machine1Name | The machine name of the server hosting the first managed server in the cluster |
Server1HttpPort | The port for the first managed server to listen to http requests on |
Server1HttpsPort | The port for the first managed server to listen to https requests on |
Server1Name | The name to use for the first managed server in the cluster (eg. epServer1) |
Machine2IP | The IP address of the server hosting the second managed server in the cluster |
Machine2Name | The machine name of the server hosting the second managed server in the cluster |
Server2HttpPort | The port for the second managed server to listen to http requests on |
Server2HttpsPort | The port for the second managed server to listen to https requests on |
Server2Name | The name to use for the second managed server in the cluster (eg. epServer2) |
JdbcName | The descriptive name of the JDBC data source (eg. EP) |
JndiName | The JNDI name of the JDBC data source (eg. jdbc/epjndi) |
Url | The JDBC connection URL (eg. jdbc:oracle:thin:@11.11.1.111:1111:ep) |
JdbcDriverName | The name of the JDBC driver (eg. oracle.jdbc.OracleDriver) |
DbUserName | The username for accessing the database |
DbUserPassword | The password for accessing the databas |