kspeedcmd是KSpeed提供的命令行工具。在测试容器里安装KSpeed库之后,可以使用kspeedcmd命令行工具进行账户管理、离线数据集文件预加载、读Check等操作。本文为您介绍如何使用kspeedcmd命令行工具。
kspeedcmd概述
常用命令
名称 | 描述 |
配置用户凭证信息 | |
增加一个KSpeed普通用户 | |
删除一个KSpeed普通用户 | |
修改一个KSpeed用户密码 | |
向KSpeed预加载一个数据集 | |
从KSpeed读取一个数据集并和源数据集进行对比 | |
查看KSpeed用户资源使用情况 | |
从KSpeed中删除数据集对象 |
kspeedcmd使用方法
kspeedcmd是一个复合的命令行工具,它的通用使用方法如下所示:
kspeedcmd [OPTIONS] COMMAND [ARGS]
KSpeed服务支持多用户共享全局内存空间,并提供安全隔离。要访问指定用户的KSpeed服务空间,需要在kspeedcmd命令中[OPTIONS]
位置指定要访问KSpeed集群服务的用户名和密码。
配置登录账户信息
为了便于登录使用,避免每次运行命令都要指定用户名和密码,用户可以首先通过config命令进行账户信息配置,将账户信息配置到KSpeed的凭证文件中。这样,后续在使用kspeedcmd命令时就不用指定[OPTIONS]
了。例如,配置默认admin账户登录凭证的命令如下:
$ kspeedcmd config -u admin -w admin
显示以下结果表明配置成功:
Your configuration is saved into /root/.kspeedcredentials
-u:指定登录的用户名。
-w:指定登录的用户名密码。
-i:指定kspeed 服务的iplist文件, 可选。在K8s环境,KSpeed使用自动服务发现,可不用指定KSpeed服务集群的iplist。
账户管理
KSpeed服务默认提供admin账号用于用户管理,包括创建和删除用户账号。管理员账号名为admin,初始密码admin。
在账户隔离需求的用户场景,请管理员在首次使用时,修改管理员密码
passwd修改账户密码
命令格式
kspeedcmd [-u username -w passwd -i iplist] passwd -w new_passwd
参数说明
选项 | 说明 |
-u | 要修改的用户名,如果配置了登录账户信息凭证,可不显式指定 |
-w (第一个) | 要修改的用户名原密码,如果配置了登录账户信息凭证,可不显式指定 |
-i | kspeed 服务的iplist文件,可选 |
-w (第二个) | 修改后的新密码 |
使用示例
修改admin账户密码为administration:
kspeedcmd -u admin -w admin passwd -w administration
显示以下结果表明修改成功:
User admin Changes password Successed
adduser创建新账户
只有admin账户可以创建新账户
命令格式
kspeedcmd adduser -u username -w passwd
参数说明
选项 | 说明 |
-u | 要创建的新用户名 |
-w | 要创建的新用户名密码 |
使用示例
创建一个alitest的新用户:
kspeedcmd adduser -u alitest -w alitest
显示以下结果表明创建成功:
Add User alitest Successed
deluser删除账户
只有admin账户可以删除账户
命令格式
kspeedcmd deluser -u username
参数说明
选项 | 说明 |
-u | 要删除的用户名 |
使用示例
删除alitest用户:
kspeedcmd deluser -u alitest
显示以下结果表明删除成功:
Are you sure you want to drop the user? [y/N]: y
Delete User alitest Successed
预加载并校验文件集合数据集
后续命令行操作都基于alitest的账户空间,首先根据配置登录账户信息配置账户凭证:
kspeedcmd config -u alitest -w alitest
preload预加载数据集
命令格式
kspeedcmd preload -r local_dataset -o kspeed_dst_objname
参数说明
选项 | 说明 |
-r | 指定要预加载的数据集的本地根路径 |
-o | 指定要预加载的数据集在KSpeed空间的名字,可缺省,如果不设置-o,默认采用-r路径的最后一级目录作为其在KSpeed空间的名字 |
使用示例
将根目录/dataset/imagenet-full的数据集预加载到alitest的KSpeed用户空间,并指定存入KSpeed对象名为imageset:
kspeedcmd preload -r /dataset/imagenet-full -o imageset
显示以下结果表明预加载成功:
[....]fileset_to_KSpeed compeleted,....
display查看用户资源信息
使用示例
查看用户资源使用情况:
kspeedcmd display
以下结果表明执行成功,并看到alitest账户空间中有一个imageset的数据集,使用了146GB存储空间:
Global Memory Total : 2063555 MB
Global Memory Free : 261474 MB
Global Memory Available : 1031906 MB
Global KSpeedMemory Total : 204800 MB
Global KSpeedMemory LimitPerNode : 204800 MB
Global KSpeedMemory Used : 146944 MB
Global KSpeedMemory Available : 57856 MB
alitest Memory Used : 146944 MB
imageset : 146944 MB kspeed mem allocated
Check预加载的数据集
命令格式
kspeedcmd check -r local_dataset -o kspeed_dst_objname
参数说明
选项 | 说明 |
-r | 指定要check的数据集的本地根路径 |
-o | 指定要check的KSpeed空间中的数据集名字,不可缺省 |
-n | 指定使用多少进程进行并行的读取对比,默认为10 |
使用示例
从KSpeed中读回数据集,并和本地路径/dataset/imagenet-full下对应文件进行对比校验:
kspeedcmd check -r /dataset/imagenet-full -o imageset -n 20
显示以下结果表明check成功:
Check processing: 100% (1331174 of 1331174) |###################################| Elapsed Time: 0:02:29 ETA: 0:00:00
删除数据集对象
命令格式
kspeedcmd rm -o kspeed_dst_objname
参数说明
选项 | 说明 |
-o | 指定要删除的KSpeed空间中的数据集名字,可以是一个对象名字(如kspeedcmd rm -o imageset),也可以是一个对象名字list(对象名字使用逗号隔开,如kspeedcmd rm -o "imageset1,imageset2,imageset3") |
使用示例
删除数据集对象imageset:
kspeedcmd rm -o imageset
显示以下结果表明删除成功:
Are you sure you want to remove a dataset from KSpeed? [y/N]: y
imageset deleted from kspeed successfully
- 本页导读 (1)