Agraph

An Agraph component runs the Agraph program, which defines and coordinates the activities of multiple, distributed Dgraphs.

Every Application Controller component contains the following attributes:

Attribute Description
component-id Required. The name of this instance of the component.
host-id Required. The alias of the host upon which the component is running.
properties An optional list of properties, consisting of a required name and an optional value.

The Agraph component contains the following sub-elements:

Sub-element Description
args Command-line flags to pass to Agraph, expressed as a set of arg sub-elements. If an argument takes a value, the argument and value must be on separate lines in the provisioning file. For example:
<args>
  <arg>--threads</arg>
  <arg>3</arg>
</args>
port Required. The port at which the Agraph should listen.
log-file The path to and name of the Agraph log file. If the log-file is not specified, the default is component working directory plus component name plus “.log”.
children Required. A list of the child Dgraphs and related devices for this Agraph, children is a single element that can contain a mixture of dgraph-ref and host-port elements.
  • The dgraph-ref element is a simple string name of a Dgraph that exists within the same Application Controller implementation. For example: <dgraph-ref name="dgraph-0"/>
  • The host-port element has host and port attributes and is typically used to refer to an unprovisioned device such as a load balancer. For example: <host-port host-name="localhost" port="9900"/>
If you know you are referring only to actual Dgraphs, and not to load balancers or other unprovisioned devices, you may use dgraph-ref elements exclusively.
input-prefix Required. Path and prefix name for the Agidx output that the Agraph uses as an input.
working-dir Working directory for the process that is launched. If it is specified, it must be an absolute path. If any of the other properties of this component contain relative paths, they are interpreted as relative to the working directory. If working-dir is not specified, it defaults to $ENDECA_CONF/work/<appName>/<componentName> on UNIX, or %ENDECA_CONF%\work\<appName>/<componentName> on Windows.
app-config-prefix Path and file prefix that define the input for the Agraph. For example, in /endeca/project/files/myProject, files beginning with myProject in the directory /endeca/project/files are the ones to be considered.
startup-timeout Specifies the amount of time in seconds that the Application Controller will wait while starting the Agraph. If it cannot determine that the Agraph is running in this timeframe, it times out. The default is 60.
req-log-file Path to and name of the request log.
ssl-configuration Contains three sub-elements of its own:
  • cert-file: The cert-file specifies the path of the eneCert.pem certificate file that is used by the Agraph to present to any client. This is also the certificate that the Application Controller Agent should present to the Agraph when trying to talk to the Agraph. The file name can be a path relative to the component’s working directory.
  • ca-file: The ca-file specifies the path of the eneCA.pem Certificate Authority file that the Agraph uses to authenticate communications with other Endeca components. The file name can be a path relative to the component’s working directory.
  • cipher: The cipher is an optional cipher string (such as RC4-SHA) that specifies the minimum cryptographic algorithm that the Agraph processes use during the SSL negotiation. If you omit this setting, the SSL software tries an internal list of ciphers, beginning with AES256-SHA. See the Endeca Security Guide for more information.

Example

The following example provisions a non-SSL Agraph component to work with the sample wine data:

<agraph component-id="mkt_agraph-3" host-id="host2">
 <working-dir>
  C:\Endeca\PlatformServices\reference\sample_wine_data
 </working-dir>
 <args/>
 <port>10020</port>
 <app-config-prefix>
  C:\Endeca\PlatformServices\reference\sample_wine_data\data\forge_input\wine
 </app-config-prefix>
 <log-file>
  C:\Endeca\PlatformServices\workspace\logs\agraph3.out
 </log-file>
 <req-log-file>
  C:\Endeca\PlatformServices\workspace\logs\agraph_requests3.out
	</req-log-file>
 <children>
   <dgraph-ref component-id="dgraph-0"/>
   <host-port host-name="localhost" port="9900"/>
   <dgraph-ref component-id="dgraph-1"/>
   <host-port host-name="localhost" port="9901"/>
 </children> 
 <input-prefix>
  C:\Endeca\PlatformServices\reference\sample_wine_data\data\
 	partition0\agraph-3\wine
 </input-prefix>
 <startup-timeout>120</startup-timeout>
</agraph>