Remote Connectors

The Fusion connector architecture is designed to be scalable. Depending on the connector (if it is an SDK connector rather than classic), jobs can be scaled by adding new instances of just the connector. The fetching process for these connectors also supports distributed fetching, so that many instances can contribute to the same job.

SDK connectors can be hosted within Fusion Server, or can run remotely. In the hosted case, these connectors are cluster aware. This means that when a new instance of Fusion starts up, the connectors on other Fusion nodes become aware of the new connector, and vice versa. This makes scaling connector jobs simple.

In the remote case, a connector becomes a client of Fusion. This remote client runs a lightweight process and communicates to Fusion using an efficient messaging format. This option makes it possible to put the connector wherever the data lives. This can be done for performance reasons, or for security or access reasons.

The default SDK connector service is connectors-rpc. By default, connectors-rpc runs on port 8871. This service handles connector registration, configuration management, job management, and cluster coordination. Like other Fusion services, it also provides access to non-connector clients.

The connector client

Fusion comes with a connector client that remote connectors can use to communicate with Fusion. It is located at fusion/4.1.x/apps/connectors/connectors-rpc/client/connector-plugin-client-4.1.x-uberjar.jar.

To run the connector client, you must have a .zip file containing exactly one connector plugin. Visit our Connector Resources page to obtain a copy of any of the available connectors. Note that the JDBC, File Upload, Local Filesystem and Web connectors are already installed in the Fusion package.

Basic connector client usage

To start a connector client, on the remote node (for example, the datasource), do the following:

  1. Copy the connector uberjar from Fusion Server onto the remote node. The connector uberjar is at the following location:

    {fusion_path}/apps/connectors/connectors-rpc/client/connector-plugin-client-{version}-uberjar.jar
  2. On the remote node, run

java -jar path/to/uberjar/connector-plugin-client-{version}-uberjar.jar path/to/connector/file.zip

Running with remote debugging enabled

To run a connector client in debug mode, use the following command:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5010 -jar fusion/4.1.x/apps/connectors/connectors-rpc/client/connector-plugin-client-4.1-uberjar.jar path/to/connector/file.zip