By completing this task, you can set up WebSphere Commerce search in a clustered
environment. The WebSphere Commerce search cluster allows you to manage multiple WebSphere Commerce
search instances from one WebSphere Application Server console.
Before you begin
If you plan on replicating WebSphere Commerce search:
- Ensure that you consider the following replication recommendations:
- Setup one master search index server to hold the master index, which is then replicated to all
the search servers that take search traffic. That is, there typically exists a dedicated
index-building machine, which is known as the master, to build the index. The index is then
replicated to other search engine machines, which are known as targets. The runtime search
performance is not affected during the index-building.
- Set up the master search index server and subordinate search index server (separately) on the
same operating system. This set up ensures easier file copy operations between servers.
- Ensure that the following tasks are completed on your master server:
- Ensure that the following tasks are completed on your subordinate server that you want to cluster:
Procedure
-
Install the WebSphere Application Server Network Deployment product by using the media that are
supplied with WebSphere Commerce. This node now hosts the deployment manager. Although you can
install other application servers on the same node as the deployment manager, it is not done unless
you have a node with the capacity to host both products.
-
Create a non-root WebSphere Application Server Deployment Manager profile on the WebSphere
Application Server Network Deployment machine. For more information about creating a WebSphere
Application Server Deployment Manager profile, see:
-
On the WebSphere Application Server Network Deployment machine, start the deployment manager
profile.
-
To prevent problems in the next step, update the addNode script by completing the following
instructions:
-
Log on to the WebSphere Commerce search node as root.
-
Open the following file in a text editor:
- WAS_installdir/bin/addNode.sh
- WAS_installdir/bin/addNode.bat
-
In the text file, find the following line of text:
-
Complete one of the following steps:
The
max_allowed parameter represents the Java maximum heap size value
that is allowed by your operating system. This value must a multiple of 1024. Append the letter k or
K to indicate kilobytes, or m or M to indicate megabytes.
Note: Ensure that your environment supports
your max_allowed value. For example, larger values might require 64-bit hardware
and a 64-bit JVM.
-
Save the changes and exit the text editor.
-
Log on to the WebSphere Application Server Network Deployment deployment manager administrative
console.
-
Expand .
-
Change the Maximum Heap Size value to the maximum value supported by
your operating system.
For example, 1024 MB. You can reduce this number once you complete the federation
process.
-
Restart the Deployment Manager.
-
Before you federate the WebSphere Commerce search application server node into the deployment
manager cell, set the SOAP connection timeout to 0. To adjust the SOAP timeout settings, complete
the following steps on the WebSphere Commerce Search node:
-
Open the following file in a text editor:
- Solr_profiledir/properties/soap.client.props
-
Search for the com.ibm.SOAP.requestTimeout entry. Record the existing value, and change the
value to 0.
For example, com.ibm.SOAP.requestTimeout=0.
-
Save the file, and exit.
-
Ensure that the system clocks on your WebSphere Commerce search node and your WebSphere
Application Server Network Deployment node are synchronized within 5 minutes of each other and are
set to the same time zone. If the clocks are not synchronized, the federation fails.
-
On the WebSphere Commerce search node:
-
Log on as the non-root user.
-
Log on with a user profile that has *SECOFR authority.
-
Federate the WebSphere Commerce search application server into the deployment manager cell by
issuing the following command:
-
After you federate a WebSphere Application Server profile, the node agent must be managed by
the non-root user.
-
You must reset the SOAP connection timeout to the original value. To adjust the setting for the
SOAP timeout, complete the following steps on the WebSphere Commerce search node:
-
Open the following file in a text editor:
- Solr_profiledir/properties/soap.client.props
-
Search for the
com.ibm.SOAP.requestTimeout
entry. Reset the entry to the
original value. For more information, see WebSphere Application Server Best Practices.
-
Save the file, and exit.
-
Create the cell-level documents, such as virtual hosts, on your WebSphere Commerce search
node:
-
Go to the following directory: WAS_installdir/bin
-
Run the deployment script:
-
Restart the Deployment Manager and the WebSphere Commerce search server.
-
Regenerate the Web server plug-in for your Web server:
-
Log on the WebSphere Application Server Network Deployment Administration Console server.
-
Expand .
-
Select solrWebserver and click Generate Plugin to
generate the plugin-cfg.xml file for the Web server.
-
Configure the Web server for the Solr application.
The Web server is created when you deploy the WebSphere Commerce search server, and the
Solr Web server is automatically added to dmgr after federation.
To
configure the Web server for the Solr application, complete the following steps:
-
Copy the updated plugin-cfg.xml file to your WebSphere Commerce search
cluster machine.
-
Update the Web server configuration:
- For IBM HTTP Server, open the configuration file httpd.conf
- Point the plug-in file to the location where you copied the updated file.
-
Add additional nodes
to your search cluster, as necessary.
Adding more nodes to your topology is required when you configure horizontal
clustering.
-
Cluster the WebSphere Commerce search application server. For more information, see create a new cluster.
-
Manually copy the Solr home directory from the first WebSphere Commerce search application
server to all clustered servers.
The default Solr home is in the following location:
- working_dir/search/instance_name/search/solr/home
- WCDE_installdir/search/solr/home