yinzhijian opened a new issue #8550:
URL: https://github.com/apache/incubator-doris/issues/8550


   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/incubator-doris/issues?q=is%3Aissue) and 
found no similar issues.
   
   
   ### Description
   
   ### background
   Current situation of doris is that the cluster is balanced, but the disks of 
a backend may be unbalanced.
   for example, backend  A have two disks: disk1 and disk2, disk1's usage is 
98%, but disk2's usage is only 40%. disk1 is unable to take more data, 
therefore only one disk of backend A can take new data, the avaiable write 
throughput of backend A is only half of its ability, and we can not resolve 
this through load or partition rebalace now.
   
   so we introduce disk rebalancer, disk rebalancer is different from other 
rebalancer(load or partition) which take care of cluster-wide data balancing. 
it takes care about backend-wide data balancing.
   
   ### schedule strategies:
   1. normally, disk rebalance task will be scheduled when cluster is balanced .
   2. if user has set  some backends that have high priority of disk rebalance, 
then disk rebalance task of the prior backends will be scheduled, no matter if 
cluster is balanced.
   
   ### pick disk strategies:
   #### defintion:
   1. high load disk/path: 10% greater than avg disk usage
   2. mid load disk/path: -10% < avg disk usage <+10%
   3. low load disk/path: 10% less than avg disk usage
   
   #### strategies:
   1. if we have **high** load disks:
   source : 
   we only pick a tablet from **high** load disks
   dest disk:
   if we have **low** load disks, we only pick a disk from **low** load disks
   else we will pick a disk from **mid** load disks
   
   2. if we only have **mid** and **low** load disks:
   source : 
   we only pick a tablet from **mid** load disks
   dest disk:
   we only pick disk from **low** load disks
   
   3. if we only have **mid** load disks:
   it means backend is balanced, we have nothing to do.
   
   ### Admin SQL Support
   #### 1. set some backends have high priority of disk rebalance
   ADMIN REBALANCE DISK [ON ("BackendHost1:BackendHeartBeatPort1", 
"BackendHost2:BackendHeartBeatPort2", ...)];
   
   #### 2. cancel high priority of disk rebalance of backends
   ADMIN CANCEL REBALANCE DISK [ON ("BackendHost1:BackendHeartBeatPort1", 
"BackendHost2:BackendHeartBeatPort2", ...)];
   
   
   ### Use case
   
   _No response_
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to