Machine bricks specify the name and connection details of each machine in a distributed environment.
If you are connecting to multiple machines, you usually set the jcd_port, jcd_use_ssl, and sslcertfiles settings globally, because they tend to be the same across machines. However, if machines with different JCD configurations need to communicate, these settings may be specified in individual Machine bricks. An example of such a configuration would be one machine running on port 8088 with certificate files located on its C: drive, a second running on port 9099 with certificate files located on its D: drive, and a third running on port 7077 without SSL.
Setting |
Description |
---|---|
name |
IP address or DNS name of the machine. This setting is optional, and defaults to the brick name. If you choose to omit this setting, the brick name must be the same as the machine’s DNS name. |
jcd_port |
The port used to connect to the Endeca JCD. This must match the port listed in the jcd.conf file. The standard port for the Endeca JCD is 8088. Note: Although jcd_port is usually set globally, you may set it individually for a specific Machine brick.
|
jcd_use_ssl |
Specifies whether or not the Control Interpreter must use SSL when communicating with the JCD on this machine. Values are true and false. If you have configured the JCD to use SSL (by setting ssl=true and specifying an sslcertfile in the jcd.conf file), then you must do the following in the control script:
Note: Although jcd_use_ssl is usually set globally, you may set it individually for a specific Machine brick.
|
sslcertfile |
Specifies the path of the certificate file, eneCert.pem, that Endeca components (Control Interpreter, Forge, Dgraph, and Agraph) should present when communicating with other Endeca components via SSL. There must be a global default set for sslcertfile, but you can override the default by setting a different sslcertfile within specific bricks. Note: In order to simplify installation and configuration, all Endeca components use the same certificate file, eneCert.pem, for secure communication. The sslcertfile you specify in jcd.conf, however, configures only the JCD, while the sslcertfile you specify in a control script dictates behavior for all other Endeca components, excluding the JCD.
Note: This path is also used in conjunction with the advanced forge_use_ssl and ene_use_ssl settings.
|
stdout |
Where to redirect stdout for the brick. By default, stdout is sent to the screen. Specifying a value for stdout overrides the stdout_base setting. |
stderr |
Where to redirect stderr for the brick. By default, stderr is sent to the screen. Specifying a value for stderr overrides the stderr_base setting. |
Machine bricks have three commands that can be used within Script bricks:
Command |
Description |
---|---|
is_win32 |
The is_win32 operation succeeds if the machine that the Machine brick is defined for is running the Windows operating system. Note: This operation allows you to write control scripts that are compatible with both the Windows and UNIX platforms. See the examples below.
|
is_unix |
The is_unix operation succeeds if the machine that the Machine brick is defined for is running a UNIX operating system. Note: This operation allows you to write control scripts that are compatible with both the Windows and UNIX platforms. Seethe examples below.
|
halt_jcd |
The halt_jcd operation stops the Endeca JCD on the machine for which the Machine brick is defined. On Windows, the Endeca JCD will be restarted automatically by the Windows Service Manager after the halt_jcd command is executed. On UNIX, the Endeca JCD is automatically restarted via the inittab. Note: The halt_jcd command is an advanced feature that is generally used for automated software updating only.
|
indexer : Machine name = idx01 #DNS name of machine jcd_port = 8088
idx01 : Machine name = idx01 #DNS name of machine
myScript : Script if idx01.is_win32 do_win32_version else do_unix_version