- Install the ESD in two separate directories (for example, ESD1 and ESD2).
- Configure ESD1 with the default port of 8080 and the default AJP port of 8009.
- Open the conf/server.xml file and uncomment the section that starts with following line:
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
.......
</Cluster>
- Configure ESD2 as follows:
- In the conf/server.conf file, change the port to any other number (for example, 9090).
- Modify the HTTP/1.1 Connector port parameter:
<!-- Define a non-SSL HTTP/1.1 Connector on port 9090 -->
<Connector port="9090" ...........
- In the conf/server.conf file, change the AJP port to any port number other than 8009.
- Modify the AJP 1.3 Connector port parameter (for example, 9009):
<!-- Define an AJP 1.3 Connector on port 9009-->
<Connector port="9009" .....
- If ESD1 and ESD2 are running on the same computer or server, then you must open the install-win32-service.bat file (located in the ESD_root installation directory) and change the value of the -Dcom.sun.management.jmxremote.port parameter to any port number other than default value of 8096.
- Open the conf/server.xml file and uncomment the section that starts with following line:
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
.......
</Cluster>
- In the Cluster section, change Receiver, tcpListenPort property to a value other than 4001, so that ESD2 will be identified as a unique cluster node. (for example, Update tcpListenPort to 4002).
- The current status of each instance of the ESD must be available to the other instance for automatic failover to occur. For this to happen, share the job status directory of each ESD instance with the other instance. The job status directory is created when you install the ESD at
esd_root\
state_dir
.
For each job that is submitted to ESD, a directory is created in the state_dir\mailings
directory that contains a file named state0.txt. The state0.txt file stores the status of the job.
- Make sure you have installed Apache 2.2.3, and downloaded mod_jk-apache-2.2.3.so from
http://tomcat.apache.org/download-connectors.cgi
- Download JK 1.2 Binary for the operating system you are using from
http://www.pangex.com/pub/apache/tomcat/tomcat-connectors/jk/binaries
- Rename mod_jk-apache-2.2.3.so to mod_jk.so, and then place it in the
Apache2/modules
directory.
- Configure the Apache Web server and use the Apache URL as the ESD SOAP URL. Apache will act as a load balancer for both ESD nodes.
- Modify the apache conf/httpd.conf file and register the entry for the ESD URL as follows:
# Load mod_jk module
LoadModule jk_module modules/mod_jk.so
JkWorkersFile <point to workers.properties which suppose to be same location as httpd.conf>
# Where to put jk logs
JkLogFile <modjk log file path>
# Set the jk log level [debug/error/info]
JkLogLevel error
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send esd soap request to worker named worker1
JkMount /esd/soaprpc loadbalancer
JkMount /esd/* loadbalancer
- Modify the apache conf/ workers.properties file by registering both ESD nodes as worker nodes, and registering ESD1 as ACTIVE and ESD2 as HOT STAND BY:
# The advanced router LB worker
worker.list=loadbalancer
# Define a worker using ajp13
worker.worker1.port=ESD1_AJP_PORT_NUMBER(8009)
worker.worker1.host=ESD1_IP_ADDRESS
worker.worker1.type=ajp13
worker.worker1.redirect=worker2
# Define another worker using ajp13
worker.worker2.port= ESD1_AJP_PORT_NUMBER(9009)
worker.worker2.host= ESD2_IP_ADDRESS
worker.worker2.type=ajp13
# Disable worker2 for all requests except failover, hot stand by
worker.worker2.activation=disabled
# Define the LB worker
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker1,worker2
- Start the ESD and the Apache Web server in the following sequence:
- ESD1 Node
- ESD2 Node
- Apache (load balancer)
- Use the Apache URL as the ESD SOAP URL in the Marketing delivery profile:
http://apache_ip:apache_port/esd/soaprpc