In consistent hashing mode, you can add or remove child servers, and change the weight of a child server, without reindexing all your content. This process uses the EngineManagement
action and the DREREDISTRIBUTE
index action to change your child server arrangement and redistribute the data respectively.
When the HPE DIH receives a DREREDISTRIBUTE
index action, it checks whether redistribution is required. If it is, the HPE DIH remaps the virtual nodes, and automatically sends export and add index actions to its child servers to redistribute the associated content.
DIH can process only one DREREDISTRIBUTE
index action at the same time. If it starts to process a second DREREDISTRIBUTE
index action in the queue before all child servers have finished redistributing the content, the second DREREDISTRIBUTE
index action returns the Unavailable
error code and does not run.
Use the following procedure to add a new child server in consistent hashing mode.
Send the EngineManagement
action to the HPE DIH ACI port. Set the EngineAction
parameter to Add
, and set Host
and Port
to the host and port of the new child server. For example:
action=EngineManagement&EngineAction=Add&Host=Child3&Port=9000
You can also add a new child server to the last listed existing mirror group by setting the Group
parameter in the EngineManagement
action to the ID of the group.
Send the DREREDISTRIBUTE
index action to the DIH index port. This index action checks whether redistribution is required, and runs the export and indexing process.
http://12.3.4.56:20001/DREREDISTRIBUTE
Use the following procedure to change the weight of a child server in consistent hashing mode.
Send the EngineManagement
action to the HPE DIH ACI port. Set the EngineAction
parameter to Edit
, set ID
to the ID number of the child server in the HPE DIH configuration file, and set Weight
to the new weight for this child server. For example:
action=EngineManagement&EngineAction=Edit&ID=3&Weight=5
Send the DREREDISTRIBUTE
index action to the HPE DIH index port to redistribute the index data between child servers according to the new weighting.
http://12.3.4.56:20001/DREREDISTRIBUTE
Use the following procedure to remove a child server group in consistent hashing mode. You cannot remove a group that has virtual nodes assigned, and you can remove only whole groups of servers.
Use the EngineManagement
action to set the weight for the child server to zero. Set the EngineAction
parameter to Edit
, set ID
to the ID number of the child server in the HPE DIH configuration file, and set Weight
to 0
(zero).
action=EngineManagement&EngineAction=Edit&ID=3&Weight=0
Send the DREREDISTRIBUTE
index action to the HPE DIH index port to redistribute the index data between child servers according to the new weighting.
http://12.3.4.56:20001/DREREDISTRIBUTE
This index action removes all the virtual nodes from the child server. HPE DIH continues to send any mirrored index actions (such as DRESYNC
and DRECOMPACT
) to this child server until you remove it completely.
EngineManagement
action again. Set the EngineAction
parameter to Remove
, and set Group
to the ID of the group.
|