Using the data pipeline with ActiveMQ is not a typical configuration and may require significant customization. If you are interested in using this feature, please
contact LabKey to inquire about support options.
This topic covers one option for how a Remote Pipeline Server could be configured and used to execute pipeline tools on a separate computer from the LabKey Server webserver. Examples include X!Tandem or SEQUEST MS/MS searches or converting raw data file to mzXML.
Assumptions
- Use of a Shared File System: The LabKey Remote Server must be able to mount the pipeline directory (location where mzXML, pepXML, etc. files are located).
- Java is installed. It must be a supported version for the version of LabKey Server that is being deployed, and match the version being used for the web server.
- You have already downloaded the version of LabKey Server you wish to deploy.
Install the Enterprise Pipeline
Obtain LabKey Server for the Remote Server
NOTE: You will use the same distribution software for this server as you use for the LabKey Server web server. We recommend simply copying the downloaded distribution files from your LabKey Server.
- On the Remote Server, create the <LABKEY_HOME> directory.
- On Windows, use C:\labkey\labkey
- On Linux or OSX, use /labkey/labkey
- Add a src subdirectory of this location.
- Copy the LabKey Server distribution from the web server to the <LABKEY_HOME>\src location.
- Unzip the LabKey Server distribution there. It contains a "labkeyServer.jar" file.
Install the LabKey Software
Copy the embedded JAR file (labkeyServer.jar) to the <LABKEY_HOME> directory.
At the command line run:
java -jar labkeyServer.jar -extract
It will extract the necessary resources, including labkeywebapp, modules, pipeline-lib, and labkeyBootstrap.jar.
Create Other Necessary Directories
Create these locations on the remote server:
Location | Purpose |
---|
<LABKEY_HOME>\config | Configuration files |
<LABKEY_HOME>\RemoteTempDirectory | Temporary Working directory for this server |
<LABKEY_HOME>\FastaIndices | Holds the FASTA indexes for this server (for installations using Sequest) |
<LABKEY_HOME>\logs | Logs are written here |
Install the Pipeline Configuration Files
There are XML files that need to be configured on the Remote Server. The configuration settings will be different depending on the use of the LabKey Remote Pipeline Server.
Download the Enterprise Pipeline Configuration Files
- Go to the LabKey remote config directory:
- Download the contents to your <LABKEY_HOME>\config directory
Configuration Settings for using the Enhanced Sequest MS2 Pipeline
pipelineConfig.xml: This file holds the configuration for the pipeline. To install:
There are a few important settings that may need to be changed:
- tempDirectory: set to <LABKEY_HOME>\RemoteTempDirectory
- toolsDirectory: set to <LABKEY_HOME>\bin
- location: set to sequest
- Network Drive Configuration: You will need to the set the variables in this section of the configuration. In order for the Enhanced SEQUEST MS2 Pipeline to function, the LabKey Remote Pipeline Server will need to be able to access same files as the LabKey Server via a network drive. The configuration below will allow the LabKey Remote Pipeline Server to create a new Network Drive.
<property name="appProperties">
<bean class="org.labkey.pipeline.api.properties.ApplicationPropertiesImpl">
<property name="networkDriveLetter" value="t" />
<property name="networkDrivePath" value="\\@@SERVER@@\@@SHARE@@" />
<!-- Map the network drive manually in dev mode, or supply a user and password -->
<property name="networkDriveUser" value="@@USER@@" />
<property name="networkDrivePassword" value="@@PASSWORD@@" />
- Enable Communication with the JMS Queue by changing @@JMSQUEUE@@ to be the name of your JMS Queue server in the code that looks like:
<bean id="activeMqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<constructor-arg value="tcp://@@JMSQUEUE@@:61616"/>
</bean>
- Change @@JMSQUEUE@@ to be the hostname of the server where you installed the ActiveMQ software.
ms2Config.xml: This file holds the configuration settings for MS2 searches. Change the configuration section:
<bean id="sequestTaskOverride" class="org.labkey.ms2.pipeline.sequest.SequestSearchTask$Factory">
<property name="location" value="sequest"/>
</bean>
to
<bean id="sequestTaskOverride" class="org.labkey.ms2.pipeline.sequest.SequestSearchTask$Factory">
<property name="sequestInstallDir" value="C:\Program Files (x86)\Thermo\Discoverer\Tools\Sequest"/>
<property name="indexRootDir" value="C:\FastaIndices"/>
<property name="location" value="sequest"/>
</bean>
Configuration Settings for executing X!Tandem searches on the LabKey Remote Pipeline Server
If you are attempting to enable this configuration, you may find assistance by searching the inactive
Proteomics Discussion Board, or
contact us about support options.
Install the LabKey Remote Server as a Windows Service
LabKey uses procrun to run the Remote Server as a Windows Service. This means you will be able to have the Remote Server start up when the server boots and be able to control the Service via the Windows Service Control Panel.
Set the LABKEY_HOME environment variable
In the System Control Panel, create the LABKEY_HOME environment variable and set it to <LABKEY_HOME> . This should be a System Environment Variable.
Install the LabKey Remote Service
This assumes that you are running a 64-bit version of Windows, have a 64-bit Java Virtual Machine.
- Copy *.bat from the directory <LABKEY_HOME>\dist\LabKeyX.X-xxxxx-PipelineConfig\remote to <LABKEY_HOME>\bin
- Download the latest version of the Apache Commons Daemon to <LABKEY_HOME>\dist
- Expand the downloaded software
- Copy the following from the expanded directory to <LABKEY_HOME>\bin
- prunmgr.exe to <LABKEY_HOME>\bin\prunmgr.exe
- amd64\prunsrv.exe to <LABKEY_HOME>\bin\prunsrv.exe
- amd64\prunsrv.exe to <LABKEY_HOME>\bin\procrun.exe
- Install the Windows Service by running the following from the Command Prompt:
set LABKEY_HOME=<LABKEY_HOME>
<LABKEY_HOME>\bin\service\installService.bat
If the installService.bat command succeeded, it should have created a new Windows Service named LabKeyRemoteServer.
Starting and Stopping the LabKey Remote Windows Service
To start the service, from a command prompt, run:
net start LabKeyRemoteServer
To stop the service, from a command prompt, run:
net stop LabKeyRemoteServer
Log File Locations
All logs from the LabKey Remote Server are located in <LABKEY_HOME>\logs.
Related Topics