数据节点管理

新增

在对应区域上添加新的数据节点

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"