Deploying Lifecycle Query Engine on multiple nodes

You can run several instances of Lifecycle Query Engine (LQE) and each instance must use the same external data source. The group of nodes behaves like a single logical unit. By deploying LQE across a set of servers, you can distribute the query workload and improve performance and scalability. Each LQE node contains its own independent triple store index, which indexes the same tracked resource set (TRS) data providers that you specified on the LQE Administration page.
  • Set up a single node
  • Set up additional nodes
  • Set up a load balancer
  • Register the load balancer as an application on JTS
After you set up and configure the LQE to perform load balancing, you can perform administrative tasks on each of the nodes. For more information, see Administering Lifecycle Query Engine

Before you begin

If you are deploying Lifecycle Query Engine on WebSphere® Application Server, you must update the application server configuration to include a few custom properties. For more information, see: Configuring WebSphere Application Server for load balancing

Setting up a single node deployment

When you are deploying Lifecycle Query Engine across a set of nodes, you start be creating a single LQE node.

Procedure

  1. Ensure that the Jazz Team Server and Lifecycle Query Engine server clocks are synchronized and within 5 minutes of each other.
  2. Install and deploy LQE.
  3. Before starting LQE for the first time, complete the following steps:
    1. Configure the same external data source. For more information, see the Supported Database Setup information in the Jazz.net wiki.
    2. Optional: In the lqe.node.id file, specify a node id and name for the new node. If you do not provide this information before starting LQE the first time, a node identifier and name are automatically generated and the file created.
      lqe.node.id=Node2
      lqe.node.name=myNewLqeNode
  4. Configure LQE authentication, set up data sources, and validate the installation.
  5. You can use a backup to jump-start the new LQE node. Configure an LQE Backup Schedule.

Setting up additional nodes

The easiest way to create a new node is to install a new instance of Lifecycle Query Engine and configure the external data source. Lifecycle Query Engine indexes all the data sources (and vocabularies) that have been configured from any LQE node using the same external data source. Using this method, each new LQE node indexes from the beginning of the TRS; this is referred to as base indexing. This method is not the most efficient way to add new nodes to a system that uses large or older data sources.

If you have large or older data sources, you can use the LQE Restore Node feature to bring another LQE node online. The LQE backup only runs on one LQE node. The backup contains all the metadata in LQE, but only the indexes for the node that performed the backup. The backup files can be used to start up another LQE node, (either for the first time or to restore it), with the indexes in the backup. Semantically, starting a new node from a backup is a duplicate LQE operation.

Procedure

  1. Install LQE in a new servlet engine following the same steps you did with the original node. You do not need to configure a new JTS or AS.
  2. Before starting this node for the first time, complete the following steps:
    1. Configure the same external data source. For more information, see the Supported Database Setup information in the Jazz.net wiki.
    2. Copy the following folders from a backup to the new installation:
      • /indexTdb is copied into conf/lqe
      • /textIndex is copied into conf/lqe
      • /metadata is copied into conf/lqe

  3. Open the lqe.properties file and set LQE restore node to true.
    lqe.restore.node=true
  4. Optional: Create a lqe.node.id file. You can specify a node id and name for the new node. If you do not provide this information before starting the LQE node the first time, a node identifier and name are automatically generated and the file created.
    lqe.node.id=Node2
    lqe.node.name=myNewLqeNode
  5. Start LQE and validate the new node. For information about validating LQE with the Money that Matters same, see Validate Your Lifecycle Query Engine Installation in the Jazz.net wiki.

Setting up a load balancer

After you set up the Lifecycle Query Engine nodes, you must set up a load balancer to handle the query workload and register it as an application on the JTS.

Procedure

  1. Enable workload balancing for your particular server:
  2. Register the load balancer as an application with JTS.

    Screen capture of the Add Application dialog box in JTS.

Configuring WebSphere Application Server for load balancing

If you are using Lifecycle Query Engine with WebSphere Application Server, you must specify three custom properties for the application server. These custom properties are required to pass host port information through the load balancer proxy. By default, WebSphere Application Server reads the port number from the Request URL instead of from the HTTP Header. These properties override the default.

Procedure

  1. In the WebSphere Application Server administrative console navigation, expand Servers and Server Types and click WebSphere application servers.
  2. On the Application servers page, click Server1.
  3. On the Configuration page, click Web Container Settings.
  4. Click Custom properties and specify the following values:
    • com.ibm.ws. webcontainer.extractHostHeaderPort = true
    • trusted = false
    • trusthostheaderport = true
    Screen capture of the Custom properties list for the selected server.

Feedback