Cluster Management

Overview

Use the API provided by the resource management node for cluster management. The IP and port address in the curl command are the ip and listen options in the resource management node configuration file.

curl -v "http://10.196.59.198:17010/admin/getCluster" | python -m json.tool

Displays basic information about the cluster, such as which data nodes and metadata nodes are included in the cluster, and volumes.

Response Example

{
 "code":0,
 "data":{
     "Applied":886268,
     "BadMetaPartitionIDs":[

     ],
     "BadPartitionIDs":[

     ],
     "DataNodeStatInfo":{

     },
     "DataNodes":[

     ],
     "DisableAutoAlloc":false,
     "LeaderAddr":"127.0.0.1:17010",
     "MaxDataPartitionID":735,
     "MaxMetaNodeID":57,
     "MaxMetaPartitionID":59,
     "MetaNodeStatInfo":{

     },
     "MetaNodeThreshold":0.75,
     "MetaNodes":[

     ],
     "Name":"cluster",
     "VolStatInfo":[

     ]
 },
 "msg":"success"
}

Freeze Cluster

curl -v "http://10.196.59.198:17010/cluster/freeze?enable=true"

If the freeze cluster function is enabled, volumes will no longer automatically create data shards, and you cannot manually create shards.

Parameter List

ParameterTypeDescription
enableboolIf set to true, the cluster is frozen

Get Cluster Space

curl -v "http://10.196.59.198:17010/cluster/stat"

Displays the space information of the cluster by region.

Response Example

{
    "DataNodeStatInfo": {
        "TotalGB": 1,
        "UsedGB": 0,
        "IncreasedGB": -2,
        "UsedRatio": "0.0"
    },
    "MetaNodeStatInfo": {
        "TotalGB": 1,
        "UsedGB": 0,
        "IncreasedGB": -8,
        "UsedRatio": "0.0"
    },
    "ZoneStatInfo": {
        "zone1": {
            "DataNodeStat": {
                "TotalGB": 1,
                "UsedGB": 0,
                "AvailGB": 0,
                "UsedRatio": 0,
                "TotalNodes": 0,
                "WritableNodes": 0
            },
            "MetaNodeStat": {
                "TotalGB": 1,
                "UsedGB": 0,
                "AvailGB": 0,
                "UsedRatio": 0,
                "TotalNodes": 0,
                "WritableNodes": 0
            }
        }
    }
}

Get Cluster Topology

curl -v "http://10.196.59.198:17010/topo/get"

Displays the topology information of the cluster by region.

Response Example

[
    {
        "Name": "zone1",
        "Status": "available",
        "NodeSet": {
            "700": {
                "DataNodeLen": 0,
                "MetaNodeLen": 0,
                "MetaNodes": [],
                "DataNodes": []
            }
        }
    },
    {
        "Name": "zone2",
        "Status": "available",
        "NodeSet": {
            "800": {
                "DataNodeLen": 0,
                "MetaNodeLen": 0,
                "MetaNodes": [],
                "DataNodes": []
            }
        }
    }
]

Update Zone Status

curl -v "http://10.196.59.198:17010/zone/update?name=zone1&enable=false"

Updates the status of the zone to available or unavailable.

Parameter List

ParameterTypeDescription
namestringZone name
enablebooltrue means available, false means unavailable

Get All Zone

curl -v "http://10.196.59.198:17010/zone/list"

Gets the names and availability status of all zones.

Response Example

[
    {
        "Name": "zone1",
        "Status": "available",
        "NodeSet": {}
    },
    {
        "Name": "zone2",
        "Status": "available",
        "NodeSet": {}
    }
]

Get Cluster

curl -v "http://192.168.0.11:17010/admin/getNodeInfo"

Gets the cluster information.

Response Example

{
    "code": 0,
    "data": {
        "autoRepairRate": "0",
        "batchCount": "0",
        "deleteWorkerSleepMs": "0",
        "loadFactor": "0",
        "maxDpCntLimit":"0",
        "markDeleteRate": "0"
    },
    "msg": "success"
}

Set Cluster

curl -v "http://192.168.0.11:17010/admin/setNodeInfo?batchCount=100&markDeleteRate=100"

Sets the cluster information.

Parameter List

ParameterTypeDescription
batchCountuint64Metanode delete batch size
markDeleteRateuint64Datanode batch delete rate limit setting. 0 means no rate limit setting
autoRepairRateuint64Number of extents repaired on a datanode at the same time
deleteWorkerSleepMsuint64Deletion interval
loadFactoruint64Cluster overselling ratio, default 0, no limit
maxDpCntLimituint64Maximum number of DPs on each node, default 3000, 0 means default value
Edit on GitHub