This appendix presents a complete example of how to install and configure the Apache Tomcat application and data service in a non — global failover zone. It presents a simple two-node cluster configuration. If you need to install the application in any other configuration, refer to the general-purpose procedures presented elsewhere in this manual. For an example of Apache Tomcat installation in a global zone, see Appendix A, Deployment Example: Installing Apache Tomcat in the Global Zone or for an installation in a zone see Appendix C, Deployment Example: Installing Apache Tomcat in a Non-Global Zone according to your zone type.
This example uses a two-node cluster with the following node names:
phys-schost-1 (a physical node, which owns the file system)
phys-schost-2 (a physical node)
clu1 the zone to be failed over
This configuration also uses the logical host name ha-host-1.
This deployment example uses the following software products and versions:
Solaris 10 6/06 software for SPARC or x86 platforms
Sun Cluster 3.2 core software
Sun Cluster HA for Apache Tomcat
Sun Cluster HA for Solaris Container
Apache Tomcat version 5.5.17
Your preferred text editor
This example assumes that you have already installed and established your cluster. It illustrates installation and configuration of the data service application only.
The instructions in this example were developed with the following assumptions:
Shell environment: All commands and the environment setup in this example are for the Korn shell environment. If you use a different shell, replace any Korn shell-specific information or instructions with the appropriate information for you preferred shell environment.
User login: Unless otherwise specified, perform all procedures as superuser or assume a role that provides solaris.cluster.admin, solaris.cluster.modify, and solaris.cluster.read RBAC authorization.
The tasks you must perform to install and configure Apache Tomcat in the failover zone are as follows:
Example: Installing the Apache Tomcat Software on Shared Storage
Example: Enabling the Apache Tomcat Software to Run in the Cluster
Install and configure the cluster as instructed in Sun Cluster Software Installation Guide for Solaris OS.
Install the following cluster software components on both nodes.
Sun Cluster core software
Sun Cluster data service for Apache Tomcat
Sun Cluster data service for Solaris Containers
Register the necessary data types on both nodes.
phys-schost-1# clresourcetype register SUNW.gds SUNW.HAStoragePlus |
Create the Apache Tomcat resource group.
phys-schost-1# clresourcegroup create RG-TOM |
Create the HAStoragePlus resource in the RG-TOM resource group.
phys-schost-1# clresource create -g RG-TOM -t SUNW.HAStoragePlus -p AffinityOn=TRUE \ -p FilesystemMountPoints=/global/mnt3,/global/mnt4 RS-TOM-HAS |
Enable the resource group.
phys-schost-1# clresourcegroup online -M RG-TOM |
On shared cluster storage, create a directory for the failover zone root path.
This example presents a sparse root zone. You can use a whole root zone if that type better suits your configuration.
phys-schost-1# mkdir /global/mnt3/zones |
Create a temporary file, for example /tmp/x, and include the following entries:
create -b set zonepath=/global/mnt3/zones/clu1 set autoboot=false set pool=pool_default add inherit-pkg-dir set dir=/lib end add inherit-pkg-dir set dir=/platform end add inherit-pkg-dir set dir=/sbin end add inherit-pkg-dir set dir=/usr end add net set address=ha-host-1 set physical=hme0 end add attr set name=comment set type=string set value="Apache Tomcat cluster zone" Put your desired zone name between the quotes here. end |
Configure the failover zone, using the file you created.
phys-schost-1# zonecfg -z clu1 -f /tmp/x |
Install the zone.
phys-schost-1# zoneadm -z clu1 install |
Log in to the zone.
phys-schost-1# zlogin -C clu1 |
Open a new window to the same node and boot the zone?
phys-schost-1a# zoneadm -z clu1 boot |
Close this terminal window and disconnect from the zone console.
phys-schost-1# ~~. |
Copy the containers configuration file to a temporary location.
phys-schost-1# cp /opt/SUNWsczone/sczbt/util/sczbt_config /tmp/sczbt_config |
Edit the /tmp/sczbt_config file and set variable values as shown:
RS=RS-TOM-ZONE RG=RG-TOM PARAMETERDIR=/global/mnt3/zonepar SC_NETWORK=false SC_LH= FAILOVER=true HAS_RS=RS-TOM-HAS Zonename=clu1 Zonebootopt= Milestone=multi-user-server Mounts= |
Create the zone according to the instructions in the Sun Cluster Data Service for Solaris Containers Guide.
Register the zone resource.
phys-schost-1# ksh /opt/SUNWsczone/sczbt/util/sczbt_register -f /tmp/sczbt_config |
Enable the zone resource.
phys-schost-1# clresource enable RS-TOM-ZONE |
These steps illustrate how to install the Apache Tomcat software in the directory /tomcat. As long as only one node is mentioned it needs to be the node where your resource group is online.
Log in to the zone.
phys-schost-1# zlogin clu1 |
Add the tomcat group and user.
zone# groupadd -g 1000 tomcat zone# useradd -g 1000 -d /tomcat -m -s /bin/ksh tomcat |
Install the Apache Tomcat binaries.
zone# su - tomcat zone# gzcat apache-tomcat-5.5.17.tar.gz|tar xvf - zone# gzcat apache-tomcat-5.5.17-compat.tar.gz|tar xvf - |
Create your environment script /tomcat/env.kshwith the following contents.
zone# cat env.ksh #!/usr/bin/ksh JAVA_HOMME=/usr/j2se CATALINA_HOME=/tomcat/apache-tomcat-5.5.17 export JAVA_HOME CATALINA_HOME |
Copy the Apache Tomcat configuration file from the agent directory to its deployment location.
zone# cp /opt/SUNWsctomcat/bin/pfile /tomcat zone# chown tomcat:tomcat /tomcat/pfile |
Add this cluster's information to the parameter file /tomcat/pfile.
The following listing shows the relevant file entries and the values to assign to each entry.
. . . EnvScript=/tomcat/env.ksh User=tomcat Basepath=/tomcat/apache-tomcat-5.5.17 Host=ha-host-1 Port=8080 TestCmd="get /index.jsp" ReturnString="CATALINA" Startwait=20 |
Save and close the file.
Leave the zone.
Copy the Apache Tomcat configuration file from the agent directory to its deployment location.
phys-schost-1# cp /opt/SUNWsctomcat/util/sctomcat_config /global/mnt3 |
Add this cluster's information to the sctomcat_config configuration file.
The following listing shows the relevant file entries and the values to assign to each entry.
. . . RS=RS-TOM RG=RG-TOM PORT=8080 LH=ha-host-1 NETWORK=true SCALABLE=false PFILE=/tomcat/pfile HAS_RS=RS-TOM-HAS. . . ZONE=clu1 ZONE_BT=RS-TOM-ZONE PROJECT= |
Save and close the file.