Chat now with support
Chat with Support

SharePlex Connector for Hadoop 1.5 - Installation and Setup Guide

Start the SharePlex cop Process

From the SharePlex for Oracle SHAREPLEX_PRODUCT_DIRECTORY/bin directory start the sp_cop process.

/u01/app/shareplex/prod/bin > ./sp_cop &

Leave this session open.

Configure ActiveMQ to work with SharePlex

Configure ActiveMQ to work with SharePlex

Set the environment parameters for the JNDI environment as follows. For more information on JNDI and ActiveMQ see http://activemq.apache.org/jndi-support.html

Start a SharePlex sp_ctrl session

/u01/app/shareplex/prod/bin > ./sp_ctrl

sp_ctrl ()>

Set the Factory Class

sp_ctrl ()> target x.jms queue PostQueueName set jms factory_class = org.apache.activemq.jndi.ActiveMQInitialContextFactory

This creates the SharePlex post queue (name PostQueueName) and sets the JNDI property java.naming.factory.initial.

Declare the ActiveMQ URL

sp_ctrl ()> target x.jms queue PostQueueName set jms provider_url = url

This sets the JNDI property java.naming.provider.url. Set it to the host name or IP address of the host running ActiveMQ. Example URLs are tcp://w2k3-64bit:61616 or tcp://localhost:61616

Declare the location of the ActiveMQ JAR files

sp_ctrl ()> target x.jms queue PostQueueName set jms lib_location = activemq

Set lib_location to the directory in the SharePlex /lib/providers directory where you copied the ActiveMQ JAR files. The above example assumes the JAR files were copied to the SHAREPLEX_PRODUCT_DIRECTORY/lib/providers/activemq.

The JMS Queue name

By default the JMS queue name is OpenTarget.

You can create an additional JMS queue with the following command. The JMS queue name in the example is JMSQueueName.

sp_ctrl> target x.jms queue PostQueueName set jms queuename = JMSQueueName

Note: The JMS queue with the name "Command_Queue" is reserved for internal use by SharePlex Connector for Hadoop. Do not use it.

Further Commands

Command Description

sp_ctrl ()> target x.jms show

Show the current configuration of the JMS.

sp_ctrl ()> help target x.jms

Ask for help on target x.jms. This shows all the options that can be configured for JMS and their usage.

Set the total number of operations in the transaction

Execute the following SharePlex for Oracle command. SharePlex Connector for Hadoop will use the information from this command to ensure the integrity of the data inside of checking for duplicate and missing messages.

sp_ctrl ()> target x.jms set metadata size

TIP: You can confirm the setting by running the target x.jms show command which will show size as a metadata parameter set on the queue. Refer to the SharePlex for Oracle documentation for more information. 

Tuning JMS to improve performance of SharePlex Connector for Hadoop

JMS (ActiveMQ) parameters can be tuned to improve the overall performance of SharePlex Connector for Hadoop. Results may vary depending on the further tuning and actual availability of resources.

Below are some of the parameters in “ACTIVEMQ_HOME/conf/activemq.xml” which can be tuned to get higher performance:

  1. Increase “queue memory limit” and turn off “producer flow control”.

    Example: <policyEntry queue=">" producerFlowControl="false" memoryLimit="512mb">

    Note: The value of the “queue memory limit” parameter should be less than the “memory usage limit” parameter.

  2. Increase “memory usage limit” of the broker.

    Example: <memoryUsage limit="1 gb"/>

    Note: Please take into consideration the available system memory while setting these parameters. The Memory Usage Limit parameter should not exceed the max memory allowed for JMS (ActiveMQ) process. You can change the Max memory allowed for JMS ActiveMQ by altering the “–Xmx” parameter in “activemq-admin” or “activemq” scripts under “ACTIVEMQ_HOME/bin” with which ActiveMQ gets started (look for ACTIVEMQ_OPTS or ACTIVEMQ_OPTS_MEMORY).

  3. Use “File based Cursor”: <pendingQueuePolicy> <fileQueueCursor/> </pendingQueuePolicy> The File based Cursor can page messages to temporary files on the disk when memory in the broker reaches its limit.
  4. If default KahaDB is getting used as a persistent store, then setting enableJournalDiskSyncs to “false” can result in reduction in time while sending messages from SharePlex Poster to ActiveMQ JMS queue.

    Example: <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb" enableJournalDiskSyncs="false"/> </persistenceAdapter>

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating