[ 
https://issues.apache.org/jira/browse/KUDU-2914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16941152#comment-16941152
 ] 

Alexey Serbin commented on KUDU-2914:
-------------------------------------

Some more information just for better perspective.  Let's take a look at the 
bigger picture in case of the 3-4-3 replica management scheme.  I think we can 
ignore the old 3-2-3 scheme which was used in Kudu v1.6 and earlier.

In case of the 3-4-3 scheme, if it's necessary to remove a tablet replica from 
a tablet server, it's enough to mark the replica with the {{REPLACE}} attribute 
(see {{RaftConsensus::BulkChangeConfig()}}, {{RaftPeerAttrsPB::replace}} in 
{{src/kudu/consensus/metadata.proto}}).  Once the {{REPLACE}} attribute is set, 
the logic in the master automatically creates a non-voter replacement replica 
elsewhere, trying to satisfy the placement policy and keeping the tablet 
distribution as balanced as possible.  Eventually, when a new replica is 
promoted to a voter, the source replica is removed.

If there were a way to mark a tablet server as not available for placement of 
new tablet replicas (something like already implemented with 
https://github.com/apache/kudu/commit/e8362ca1bb48ed0150cf134d93899d7a2f74caf3 
as a part of [KUDU-2069|https://issues.apache.org/jira/browse/KUDU-2069]), it 
would be necessary to simply mark all replicas at the tablet server with the 
{{REPLACE}} attribute and await until there is no tablet replicas left at the 
tablet server.

> Rebalance tool support moving replicas from some specific tablet servers
> ------------------------------------------------------------------------
>
>                 Key: KUDU-2914
>                 URL: https://issues.apache.org/jira/browse/KUDU-2914
>             Project: Kudu
>          Issue Type: Improvement
>          Components: CLI
>            Reporter: YifanZhang
>            Assignee: YifanZhang
>            Priority: Minor
>
> When we need to remove some tservers from a kudu cluster (maybe just for 
> saving resources or replacing these servers with new servers), it's better to 
> move all replicas on these tservers to other tservers in a cluster in 
> advance, instead of waiting for all replicas kicked out and evicting new 
> replicas. This can be achieved by rebalance tool supporting specifying 
> 'blacklist_tservers'.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to