public class ShardsAllocators extends AbstractComponent implements ShardsAllocator
ShardsAllocator class offers methods for allocating shard within a cluster.
These methods include moving shards and re-balancing the cluster. It also allows management
of shards by their state.componentSettings, logger, settings| Constructor and Description |
|---|
ShardsAllocators() |
ShardsAllocators(Settings settings) |
ShardsAllocators(Settings settings,
GatewayAllocator gatewayAllocator,
ShardsAllocator allocator) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
allocateUnassigned(RoutingAllocation allocation)
Assign all unassigned shards to nodes
|
void |
applyFailedShards(FailedRerouteAllocation allocation)
Applies changes on failed nodes based on the implemented algorithm.
|
void |
applyStartedShards(StartedRerouteAllocation allocation)
Applies changes on started nodes based on the implemented algorithm.
|
boolean |
move(MutableShardRouting shardRouting,
RoutingNode node,
RoutingAllocation allocation)
Moves a shard from the given node to other node.
|
boolean |
rebalance(RoutingAllocation allocation)
Rebalancing number of shards on all nodes
|
nodeNamepublic ShardsAllocators()
public ShardsAllocators(Settings settings)
@Inject public ShardsAllocators(Settings settings, GatewayAllocator gatewayAllocator, ShardsAllocator allocator)
public void applyStartedShards(StartedRerouteAllocation allocation)
ShardsAllocatorShardRoutingState.STARTED from ShardRoutingState.RELOCATING
this allocator might apply some cleanups on the node that used to hold the shard.applyStartedShards in interface ShardsAllocatorallocation - all started shardspublic void applyFailedShards(FailedRerouteAllocation allocation)
ShardsAllocatorapplyFailedShards in interface ShardsAllocatorallocation - all failed shardspublic boolean allocateUnassigned(RoutingAllocation allocation)
ShardsAllocatorallocateUnassigned in interface ShardsAllocatorallocation - current node allocationtrue if the allocation has changed, otherwise falsepublic boolean rebalance(RoutingAllocation allocation)
ShardsAllocatorrebalance in interface ShardsAllocatorallocation - current node allocationtrue if the allocation has changed, otherwise falsepublic boolean move(MutableShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
ShardsAllocatormove in interface ShardsAllocatorshardRouting - the shard to movenode - A node containing the shardallocation - current node allocationtrue if the allocation has changed, otherwise falseCopyright © 2009–2016. All rights reserved.