Add, Update, and Remove Child Servers Dynamically
You can add, edit, and remove child servers by using the EngineManagement
action. This action updates the DIH configuration file, so that the changes are persistent.
For more details about the EngineManagement
action, refer to the DIH Reference.
Add a Child Server Dynamically
You can add a new child server to the DIH by using the EngineManagement
action.
NOTE: You can add a child server only in certain distribution modes.
To add a child server
-
Send the
EngineManagement
action, withEngineAction
set toAdd
. SetHost
andPort
to the host name and port of the child server.You can optionally also set other parameters for the child server, such as
Disabled
,Weight
,UpdateOnly
, andPolling
. For the full list of available parameters, see the DIH Reference.TIP: By default, when you add a child server in this way, the DIH pings the specified host and port. The
Add
action fails if the child server is not running. SetDisabled
toTrue
to skip this step and add the child server in the offline state.
Remove a Child Server Dynamically
In mirror mode, you can remove a child Content engine with the DREREDISTRIBUTE
index action. Use the RemoveGroup
parameter to specify the group ID of the Content engine to remove.
In simple distribution mode, either with or without DistributeSendMinimal
, you can remove a child Content engine or group and the DIH will automatically redistribute its documents among the remaining servers. To do this, run the DREREDISTRIBUTE
index action and use the RemoveGroup
parameter to specify the ID of the Content engine or group to remove. The DIH does not index any more data into the specified engine, and its content is exported back to the DIH for redistribution. When redistribution is complete, the Content engine is removed from the DIH automatically, so you do not need to edit the configuration file.
Consistent hashing mode also supports engine removal with automatic redistribution. To remove a child server in this mode, you must first use the EngineManagement
action to set the server Weight
to 0
(zero), and then use the DREREDISTRIBUTE
index action to redistribute the virtual nodes. For more information, see Remove a Child Server. For more information about consistent hashing mode, see Use Consistent Hashing.
Update a Child Server Dynamically
You can use the EngineManagement
action to dynamically change the settings for a child server.
To update a child server
-
Send the
EngineManagement
action, withEngineAction
set toEdit
. Set theID
parameter to the ID of the child server that you want to modify.Set any of the optional parameters that you want to change for the child server, such as
Disabled
,Weight
,UpdateOnly
, andPolling
.You can also update the host and port of the server, for example replace a server that has become permanently inaccessible. In consistent hashing mode, you can use stored replicas to rebuild the lost server. For more information, see Restore Child Servers in Consistent Hashing Mode.