数据节点管理
新增
在对应区域上添加新的数据节点
curl -v "http://192.168.2.160:15010/dataNode/add?addr=192.168.2.161:15310&zoneName=default"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| addr | string | 数据节点和master的交互地址 |
| zoneName | string | 指定区域,如果为空则默认值为default |
响应示例
{"code":0,"msg":"success","data":9}
查询
显示数据节点的详情,包括数据节点的地址、总的容量、已使用空间等等。
curl -v "http://192.168.2.160:15010/dataNode/get?addr=192.168.2.161:15310"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| addr | string | 数据节点和master的交互地址 |
响应示例
{
"TotalWeight": 39666212700160,
"UsedWeight": 2438143586304,
"AvailableSpace": 37228069113856,
"ID": 2,
"Zone": "zone1",
"Addr": "10.196.59.201:15310",
"ReportTime": "2018-12-06T10:56:38.881784447+08:00",
"IsActive": true
"UsageRatio": 0.06146650815226848,
"SelectTimes": 5,
"Carry": 1.0655859145960367,
"DataPartitionReports": {},
"DataPartitionCount": 21,
"NodeSetID": 3,
"PersistenceDataPartitions": {},
"BadDisks": {}
}
下线节点
从集群中下线某个数据节点, 该数据节点上的所有数据分片都会被异步的迁移到集群中其它可用的数据节点
curl -v "http://192.168.2.160:15010/dataNode/decommission?addr=192.168.2.161:15310&weight=2"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| addr | string | 数据节点和master的交互地址 |
| weight | int | 下线权重,默认是2 |
响应示例
{"code":0,"msg":"success","data":"decommission data node [192.168.2.161:15310] submited!need check status later!"}
获取磁盘信息
获取磁盘信息,包括磁盘路径,空间使用情况,磁盘状态等。
curl -v "http://192.168.2.160:15320/disks" | python -m json.tool
响应示例
{
"code": 200,
"data": {
"disks": [
{
"allocated": 0,
"available": 141661528064,
"decommission": false,
"diskRdoSize": 10737418240,
"partitions": 0,
"path": "/data/udbto/replica/disk1",
"restSize": 10737418240,
"status": 2,
"total": 198611308544,
"unallocated": 198611308544,
"used": 56949780480
},
{
"allocated": 0,
"available": 141661528064,
"decommission": false,
"diskRdoSize": 10737418240,
"partitions": 0,
"path": "/data/udbto/replica/disk0",
"restSize": 10737418240,
"status": 2,
"total": 198611308544,
"unallocated": 198611308544,
"used": 56949780480
}
],
"zone": "default"
},
"msg": ""
}
获取节点分区信息
获取磁盘信息,包括分区ID,分区大小和状态等。
curl -v "http://192.168.2.160:15320/partitions" | python -m json.tool
响应示例
{
"code": 200,
"data": {
"partitionCount": 10,
"partitions": [
{
"hosts": [
"192.168.2.185:15310",
"192.168.2.160:15310",
"192.168.2.161:15310"
],
"id": 1,
"path": "/data/udbto/replica/disk1/datapartition_1_128849018880",
"replicas": [
"192.168.2.185:15310",
"192.168.2.160:15310",
"192.168.2.161:15310"
],
"size": 128849018880,
"status": 2,
"used": 0
}
]
},
"msg": ""
}
磁盘下线
curl -v "http://192.168.2.160:15010/disk/decommission?addr=192.168.2.161:15310&disk=/data/udbto/replica/disk1&weight=2"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| addr | string | 要下线的磁盘的节点地址 |
| disk | string | 故障磁盘 |
| count | int | 每次下线个数,默认0,代表全部下线 |
| diskDisable | bool | 是否禁用磁盘,即禁止在下线的磁盘上新建dp,默认为true |
| decommissionType | int | 下线类型,默认0,代表手动下线;1表示自动下线 |
| weight | int | 下线权重,默认是2 |
响应示例
{"code":0,"msg":"success","data":"decommission disk [192.168.2.161:15310:/data/udbto/replica/disk1] submited!need check status later!"}
取消磁盘下线
curl -v "http://192.168.2.160:15010/disk/pauseDecommission?addr=192.168.2.161:15310&disk=/data/udbto/replica/disk1"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| addr | string | 要取消下线的磁盘的节点地址 |
| disk | string | 待取消下线的磁盘 |
响应示例
{"code":0,"msg":"success","data":"cancel decommission data node [192.168.2.161:15310] disk[/data/udbto/replica/disk1] successfully with failed dp []"}
迁移
从源数据节点迁移指定个数数据分区至目标数据节点。
curl -v "http://192.168.2.160:15010/dataNode/migrate?srcAddr=192.168.2.161:15310&targetAddr=192.168.2.160:15310&count=2"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| srcAddr | string | 迁出数据节点地址 |
| targetAddr | string | 迁入数据节点地址 |
| count | int | 迁移数据分区的个数,非必填,默认50个 |
响应示例
{"code":0,"msg":"success","data":"migrateDataNodeHandler from src [192.168.2.161:15310] to target[192.168.2.160:15310] has submited and run in asyn ways,need check laster!"}
设置磁盘下线控制速度
curl -v "http://192.168.2.160:15320/admin/updateDecommissionLimit?decommissionLimit=10"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| decommissionLimit | int | 磁盘下线控制速度 |
查询磁盘下线控制速度
curl -v "http://192.168.2.160:15010/admin/queryDecommissionLimit"
查询磁盘下线进度
curl -v "http://192.168.2.160:15010/disk/queryDecommissionProgress?addr=192.168.2.160:15310&disk=/data/udbto/replica/disk1"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| addr | string | 要查询的磁盘的节点地址 |
| disk | string | 待查询的磁盘 |
查询节点下线进度
curl -v "http://192.168.2.160:15010/dataNode/queryDecommissionProgress?addr=192.168.2.161:15310"
参数说明
| 参数 | 类型 | 描述 |
|---|---|---|
| addr | string | 数据节点和master的交互地址 |
查询所有下线磁盘
curl -v "http://192.168.2.160:15010/disk/queryAllDecommissionDisk"