Ozone Admin
Ozone Admin command (ozone admin
) is a collection of tools intended to be used only by admins.
And quick overview about the available functionalities:
ozone admin safemode
: You can check the safe mode status and force to leave/enter from/to safemode,--verbose
option will print validation status of all rules that evaluate safemode status.ozone admin container
: Containers are the unit of the replication. The subcommands can help to debug the current state of the containers (list/get/create/…)ozone admin pipeline
: Can help to check the available pipelines (datanode sets)ozone admin datanode
: Provides information about the datanodeozone admin printTopology
: display the rack-awareness related informationozone admin replicationmanager
: Can be used to check the status of the replications (and start / stop replication in case of emergency).ozone admin om
: Ozone Manager HA related tool to get information about the current cluster.
For more detailed usage see the output of --help
.
$ ozone admin --help
Usage: ozone admin [-hV] [--verbose] [-conf=<configurationPath>]
[-D=<String=String>]... [COMMAND]
Developer tools for Ozone Admin operations
-conf=<configurationPath>
-D, --set=<String=String>
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
--verbose More verbose output. Show the stack trace of the errors.
Commands:
containerbalancer ContainerBalancer specific operations
replicationmanager ReplicationManager specific operations
safemode Safe mode specific operations
printTopology Print a tree of the network topology as reported by SCM
cert Certificate related operations
container Container specific operations
datanode Datanode specific operations
pipeline Pipeline specific operations
namespace Namespace Summary specific admin operations
om Ozone Manager specific admin operations
reconfig Dynamically reconfigure server without restarting it
scm Ozone Storage Container Manager specific admin operations
Some of those subcommand usages has been detailed in their dedicated feature documentation pages. For instance, Decommissioning, Non-Rolling Upgrades and Downgrades.
List open files
List open files admin command lists open keys in Ozone Manager’s OpenKeyTable
.
Works for all bucket types.
Argument --prefix
could be root (/
), path to a bucket (/vol1/buck
) or a key prefix (for FSO buckets the key prefix could contain parent object ID). But it can’t be a volume.
$ ozone admin om lof --help
Usage: ozone admin om list-open-files [-hV] [--json] [-l=<limit>]
[-p=<pathPrefix>] [-s=<startItem>]
[--service-host=<omHost>]
[--service-id=<omServiceId>]
Lists open files (keys) in Ozone Manager.
-h, --help Show this help message and exit.
--json Format output as JSON
-l, --length=<limit> Maximum number of items to list
-p, --prefix=<pathPrefix> Filter results by the specified path on the server
side.
-s, --start=<startItem> The item to start the listing from.
i.e. continuation token. This will be excluded from
the result.
--service-host=<omHost>
Ozone Manager Host. If OM HA is enabled, use
--service-id instead. If you must use
--service-host with OM HA, this must point
directly to the leader OM. This option is
required when --service-id is not provided or
when HA is not enabled.
--service-id, --om-service-id=<omServiceId>
Ozone Manager Service ID
-V, --version Print version information and exit.
Example usages
- In human-readable format, list open files (keys) under bucket
/volumelof/buck1
with a batch size of 3:
$ ozone admin om lof --service-id=om-service-test1 --length=3 --prefix=/volumelof/buck1
5 total open files (est.). Showing 3 open files (limit 3) under path prefix:
/volume-lof/buck1
Client ID Creation time Hsync'ed Open File Path
111726338148007937 1704808626523 No /volume-lof/buck1/-9223372036854774527/key0
111726338151415810 1704808626578 No /volume-lof/buck1/-9223372036854774527/key1
111726338152071171 1704808626588 No /volume-lof/buck1/-9223372036854774527/key2
To get the next batch of open keys, run:
ozone admin om lof -id=om-service-test1 --length=3 --prefix=/volume-lof/buck1 --start=/-9223372036854775552/-9223372036854775040/-9223372036854774527/key2/111726338152071171
- In JSON, list open files (keys) under bucket
/volumelof/buck1
with a batch size of 3:
$ ozone admin om lof --service-id=om-service-test1 --length=3 --prefix=/volumelof/buck1 --json
{
"openKeys" : [ {
"keyInfo" : {
"metadata" : { },
"objectID" : -9223372036854774015,
"updateID" : 7,
"parentObjectID" : -9223372036854774527,
"volumeName" : "volume-lof",
"bucketName" : "buck1",
"keyName" : "key0",
"dataSize" : 4194304,
"keyLocationVersions" : [ ... ],
"creationTime" : 1704808722487,
"modificationTime" : 1704808722487,
"replicationConfig" : {
"replicationFactor" : "THREE",
"requiredNodes" : 3,
"replicationType" : "RATIS"
},
"fileName" : "key0",
"acls" : [ ... ],
"path" : "-9223372036854774527/key0",
"file" : true,
"replicatedSize" : 12582912,
"objectInfo" : "OMKeyInfo{volume='volume-lof', bucket='buck1', key='key0', dataSize='4194304', creationTime='1704808722487', objectID='-9223372036854774015', parentID='-9223372036854774527', replication='RATIS/THREE', fileChecksum='null}",
"hsync" : false,
"latestVersionLocations" : { ... },
"updateIDset" : true
},
"openVersion" : 0,
"clientId" : 111726344437039105
}, {
"keyInfo" : { ... },
"openVersion" : 0,
"clientId" : 111726344440578050
}, {
"keyInfo" : { ... },
"openVersion" : 0,
"clientId" : 111726344441233411
} ],
"totalOpenKeyCount" : 5,
"hasMore" : true,
"contToken" : "/-9223372036854775552/-9223372036854775040/-9223372036854774527/key2/111726344441233411"
}
Note in JSON output mode, field contToken
won’t show up at all in the result if there are no more entries after the batch (i.e. when hasMore
is false
).