---
source_url: https://docs.dolphindb.cn/zh/funcs/r/rebalanceChunksAmongDataNodes.html
fetched_at: 2026-05-19T09:35:24Z
category: funcs
title: rebalanceChunksAmongDataNodes
sha1: 6fd360462823e0f25c692d4a5f76fb5ae4eaa269
---

# rebalanceChunksAmongDataNodes

## 语法

`rebalanceChunksAmongDataNodes([exec = false], [updatedBeforeDays =
7.0])`

## 详情

在集群中的所有磁盘间平衡数据，以保证集群达到最佳性能。在集群中增加节点、磁盘后，或者在磁盘负载过高时，通常需要执行此操作。只能由管理员在控制节点上执行。

调用该函数后，可以在控制节点上执行 [getRecoveryTaskStatus](../g/getRecoveryTaskStatus.html) 查看任务执行的状态。

调用该函数后，系统会打印 INFO
级别的日志，输出每个磁盘的原始使用率以及平衡后的使用率。日志内容的格式如下：

```dolphindb
[rebalance] Expected change of disk usage rate is 原本占有率->搬运后占有率
[rebalance] Change of disk usage rate in 磁盘所在IP@磁盘fsid(1/磁盘数) is 原本占有率->搬运后占有率
[rebalance] Change of disk usage rate in 磁盘所在IP@磁盘fsid(2/磁盘数) is 原本占有率->搬运后占有率
...
```

## 参数

**exec** 布尔值，表示是否进行数据平衡。默认值为 false，表示输出数据平衡的执行计划，并不执行数据迁移。若设置为
true，则系统会执行数据迁移。

**updatedBeforeDays**
非负浮点数，用于确定可以进行平衡的数据的时间范围，默认值是7，单位是天。表示数据块（chunk）的最后一次写入或更新（修改）时间发生在7天前时，才会进行平衡。

## 返回值

返回一个表，包含以下列：

| 列名 | 含义 |
| --- | --- |
| srcNode | 源节点的别名 |
| chunkId | chunk 的唯一标识 |
| destNode | 目标节点的别名 |
| destVolume | 目标磁盘卷的路径 |

## 例子

```dolphindb
rebalanceChunksAmongDataNodes()
```

| srcNode | chunkId | destNode | destVolume |
| --- | --- | --- | --- |
| node1 | 99279094-ca12-3b87-48b6-520cbb986f39 | node2 | /home/xxx/node2/storage |
| node1 | 45f612b8-42f5-aebd-4cef-e522b6ae1fc8 | node2 | /home/xxx/node2/storage |
