网站建设大题,点击未来网站建设,五百亿建站模板,网站制作公司的流程命令行接口简介
Ozone Shell是命令行与Ozone交互的主要界面#xff0c;底层用的是Java。
有些功能只能通过Ozone Shell进行操作#xff1a;
创建带有限额限制的Volume管理内部ACLs#xff08;访问控制列表#xff09;创建带有加密密钥的存储桶
大部分操作除了Shell操作…命令行接口简介
Ozone Shell是命令行与Ozone交互的主要界面底层用的是Java。
有些功能只能通过Ozone Shell进行操作
创建带有限额限制的Volume管理内部ACLs访问控制列表创建带有加密密钥的存储桶
大部分操作除了Shell操作之外还可以使用hadoop、s3等方式操作。
在学习Ozone Shell命令的时候可以借助help命令。 比如查看volume所有可用的命令
ozone sh volume --helpUsage: ozone sh volume [-hV] [COMMAND]
Volume specific operations-h, --help Show this help message and exit.-V, --version Print version information and exit.
Commands:info returns information about a specific volumelist, ls List the volumes of a given usercreate Creates a volume for the specified userupdate Updates parameter of the volumesdelete deletes a volume if it is emptyaddacl Add one or more new ACLs.removeacl Remove one or more existing ACLs.setacl Set one or more ACLs, replacing the existing ones.getacl List all ACLs.setquota Set quota of the volumes. At least one of the quota set flag ismandatory.clrquota clear quota of the volume. At least one of the quota clear flag ismandatory.或者查看volume相关命令详细的使用说明
ozone sh volume create --helpUsage: ozone sh volume create [-hV] [--namespace-quotaquotaInNamespace][--quotaquotaInBytes] [-uownerName] value
Creates a volume for the specified uservalue URI of the volume.Ozone URI could either be a full URI or short URI.Full URI should start with o3://, in case of non-HAclusters it should be followed by the host name andoptionally the port number. In case of HA clustersthe service id should be used. Service id provides alogical name for multiple hosts and it is definedin the property ozone.om.service.ids.Example of a full URI with host name and port numberfor a key:o3://omhostname:9862/vol1/bucket1/key1With a service id for a volume:o3://omserviceid/vol1/Short URI should start from the volume.Example of a short URI for a bucket:vol1/bucket1Any unspecified information will be identified fromthe config files.-h, --help Show this help message and exit.--namespace-quotaquotaInNamespaceFor volume this parameter represents the number ofbuckets, and for buckets represents the number ofkeys (eg. 5)--quota, --space-quotaquotaInBytesThe maximum space quota can be used (eg. 1GB)-u, --userownerName Owner of the volume-V, --version Print version information and exit.
Shell命令格式
Ozone Shell命令常用格式
ozone sh object action url参数详解
ozone sh Ozone通过ozone sh调用其所有的命令。object object可以是volume, bucket or key。action action可以是各种操作如create, list, delete等等。url url会指向volume, bucket or key格式如下[schema][server:port]/volume/bucket/keyschema是一个访问Ozone的PRC协议是可选的。 server:port是Ozone Manager的地址如果省略了端口则将使用ozone-site.xml中的默认端口。
Ozone的层次结构
Ozone的层次结构如下 集群ClusterOzone集群是Ozone的最高级别由一组物理或虚拟服务器组成。集群中的各个节点协同工作处理存储和访问数据的请求。 卷Volume卷是Ozone中的一个逻辑概念代表一块连续的存储空间类似于文件系统中的一个分区。每个卷都有自己的容量限制并且可以独立地设置数据冗余和复制策略。卷是桶Bucket的容器。 桶Bucket桶是Ozone中存储对象的基本单元。用户可以在卷中创建多个桶并将对象存储在这些桶中。桶具有全局唯一的名称并且可以设置访问权限控制以限制对桶中对象的访问。 对象Object对象是在桶中存储的实际数据。每个对象都由唯一的键key标识并且可以具有其他元数据和属性。对象可以通过桶和键来进行检索和访问。
注意Ozone还有更多的层次结构和概念如存储单元Storage Unit、容器Container、块Block等。但以上列出的是Ozone最常用和关键的层次结构。
Volume 操作
Volume 作为整个层级结构中最顶级的管理单位只有管理员可以操作它并且可以选择性地指定配额和所有者用户来控制卷的容量和权限。 Volume是Ozone对象存储系统中的最高级别的容器。它可以包含多个桶buckets而桶又可以包含多个路径paths。 只有管理员administrators可以管理Volume例如创建、删除、列出等操作。 可以选择性地为Volume指定配额quota用于限制该Volume的存储容量。如果没有指定配额则Volume的容量将没有限制。 可以选择性地为Volume指定所有者用户owner user。所有者用户具有特殊的权限例如管理Volume内桶和路径的权限。
创建Volume 只有管理员才能创建Volume 命令ozone sh volume create /vol1如果不是管理员则会报错PERMISSION_DENIED User xxx doesnt have CREATE permission to access volume Volume:vol1查询Volume详细信息 命令ozone sh volume info /vol1结果{
metadata : { },
name : vol1,
admin : hadoop,
owner : hadoop,
creationTime : 2020-07-28T12:31:50.112Z,
modificationTime : 2020-07-28T12:31:50.112Z,
acls : [ {
type : USER,
name : hadoop,
aclScope : ACCESS,
aclList : [ ALL ]
}, {
type : GROUP,
name : users,
aclScope : ACCESS,
aclList : [ ALL ]
} ],
quota : 1152921504606846976
}列出所有Volumn 命令ozone sh volume list /结果{metadata : { },name : s3v,admin : hadoop,owner : hadoop,creationTime : 2020-07-27T11:32:22.314Z,modificationTime : 2020-07-27T11:32:22.314Z,acls : [ {type : USER,name : hadoop,aclScope : ACCESS,aclList : [ ALL ]}, {type : GROUP,name : users,aclScope : ACCESS,aclList : [ ALL ]} ],quota : 1152921504606846976
}Bucket操作
在Ozone中桶Bucket是对象层次结构的第二级类似于AWS S3中的桶buckets。用户可以在卷volume中创建桶前提是他们具有所需的权限。
简单来说Ozone中的对象层次结构如下
卷Volume是最高级别的容器在卷中可以创建桶。
桶Bucket是存储对象的容器类似于AWS S3中的桶。用户可以在卷中创建多个桶并将对象存储在这些桶中。 创建桶 ozone sh bucket create /vol1/bucket1查询桶的详细信息 命令 ozone sh bucket info /vol1/bucket1结果 {metadata : { },volumeName : vol1,name : bucket1,storageType : DISK,versioning : false,creationTime : 2020-07-28T13:14:45.091Z,modificationTime : 2020-07-28T13:14:45.091Z,encryptionKeyName : null,sourceVolume : null,sourceBucket : null
}Key操作
Key是存储数据的对象。 上传数据 ozone sh key put /vol1/bucket1/README.md README.md注意在Ozone中使用命令行工具时命令的语法ozone sh object_type action url可能会有些困惑因为它导致了ozone sh key put destination source这样的语法结构而不是更自然的source destination的顺序。 换句话说对于文件的上传操作一般来讲人们可能更习惯使用类似于ozone put source destination的语法其中source表示源文件的位置destination表示目标位置。但是在Ozone的命令行工具中使用了ozone sh key put destination source的语法将destination作为目标Key的位置source作为源文件的位置。 这可能在一开始会令人困惑因为与通常的命令语法不同。但是一旦了解了这种语法结构并且熟悉了Ozone的命令行工具的使用方式就能够正确地指定文件的源和目标位置实现文件的上传等操作。 查询key的详细信息 命令 ozone sh key info /vol1/bucket1/README.md结果 {volumeName : vol1,bucketName : bucket1,name : README.md,dataSize : 3841,creationTime : 2020-07-28T13:17:20.749Z,modificationTime : 2020-07-28T13:17:21.979Z,replicationType : RATIS,replicationFactor : 1,ozoneKeyLocations : [ {containerID : 1,localID : 104591670688743424,length : 3841,offset : 0} ],metadata : { },fileEncryptionInfo : null
}下载数据 ozone sh key get /vol1/bucket1/README.md /tmp/参考文献
Command Line Interface