This appendix presents a complete example of how to install and configure the Apache Tomcat application and data service in a non-global 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 in the global zone, see Appendix A, Deployment Example: Installing Apache Tomcat in the Global Zone. For an installation in failover zone, see Appendix B, Deployment Example: Installing Apache Tomcat in a Failover Zone.
This example uses a two-node cluster with the following node names:
phys-schost-1 (a physical node, which owns the file system)
zone-1 (a zone defined on phys-schost-1, which owns the file system)
phys-schost-2 (a physical node)
zone-2 (a physical node)
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 Data Service for Apache Tomcat
Apache Tomcat version 5.5.17
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.
These instructions assume that you are installing the Apache Tomcat software as the tomcat user in a shared directory.
The tasks you must perform to install and configure Apache Tomcat in the zone are as follows:
Example: Installing the Apache Tomcat Software on Local 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
In this task you will install the Solaris Container on phys-schost-1 and phys-schost-2. Therefore perform this procedure on both hosts.
On local cluster storage of , create a directory for the 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 /zones |
Create a temporary file, for example /tmp/x, and include the following entries:
create -b set zonepath=/zones/clu1 set autoboot=true 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=zone-1 Choose a different addtress (zone-2) on the second node. 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-1# zoneadm -z clu1 boot |
Close this terminal window and disconnect from the zone console.
phys-schost-1# ~~. |
Register the HAStoragePlus resource type.
phys-schost-1# clresourcetype register SUNW.gds SUNW.HAStoragePlus |
Create the Apache Tomcat resource group.
phys-schost-1# clresourcegroup create -n phys-host-1:clu1,phys-host-2:clu1 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 |
These steps illustrate how to install the Apache Tomcat software in the shared storage. 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 on both nodes.
phys-schost-1# zlogin clu1 phys-schost-2# zlogin clu1 |
Add the tomcatgroup and user.
zone-1# groupadd -g 1000 tomcat zone-1# useradd -g 1000 -d /global/mnt3/tomcat -m -s /bin/ksh tomcat zone-2# groupadd -g 1000 tomcat zone-2# useradd -g 1000 -d /global/mnt3/tomcat -m -s /bin/ksh tomcat |
Install the Apache Tomcat binaries.
zone-1# su - tomcat zone-1$ gzcat apache-tomcat-5.5.17.tar.gz|tar xvf - zone-1$ gzcat apache-tomcat-5.5.17-compat.tar.gz|tar xvf - |
Create your environment script /global/mnt3/tomcat/env.kshwith the following contents.
cat env.ksh #!/usr/bin/ksh JAVA_HOMME=/usr/j2se CATALINA_HOME=/global/mnt3/tomcat/apache-tomcat-5.5.17 export JAVA_HOME CATALINA_HOME |
Leave the zone.
In this task you will create the configuration file to prepare the Apache Tomcat database. It is assumed, that you are still logged in to this zone, otherwise log into this zone.
Switch to the tomcat user.
zone# su - tomcat |
Copy the Apache Tomcat configuration file from the agent directory to its deployment location.
zone# cp /opt/SUNWsctomcat/bin/pfile /global/mnt3 phys-schost-1# chown tomcat:tomcat /global/mnt3/pfile |
Add this cluster's information to the parameter file /global/mnt3/pfile.
The following listing shows the relevant file entries and the values to assign to each entry.
. . . EnvScript=/global/mnt3/tomcat/env.ksh User=tomcat Basepath=/global/mnt3/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=/global/mnt3/pfile HAS_RS=RS-TOM-HAS |
Save and close the file.
This task will register theApache Tomcat resource, it is essential, that you perform it on one node only.