如果您希望通过命令行的方式在开通OSS-HDFS服务的Bucket中执行上传、下载、删除等相关操作时,您可以使用Jindo CLI的方式。
环境准备
您可以选择以下任意一种方式访问OSS-HDFS服务。
通过阿里云EMR访问OSS-HDFS服务,确保已创建EMR-3.44.0及以上版本或EMR-5.10.0及以上版本的集群。满足版本要求的EMR集群默认集成了JindoSDK。具体操作,请参见创建集群。
通过非阿里云EMR访问OSS-HDFS服务,确保已安装和部署 4.6.x及以上版本JindoSDK。具体操作,请参见在非EMR集群中部署JindoSDK。
操作步骤
配置环境变量。
如果通过阿里云EMR访问OSS-HDFS服务,则直接跳过此步骤,执行下一步。
如果通过非阿里云EMR访问OSS-HDFS服务,则按照以下说明完成配置。
连接ECS实例。具体操作,请参见连接ECS实例。
进入已安装的JindoSDK JAR包下的bin目录。
以下以
jindosdk-x.x.x-linux
为例,如使用其他版本的JindoSDK,请替换为对应的JAR包名称。cd jindosdk-x.x.x-linux/bin/
说明x.x.x表示JindoSDK JAR包版本号。
授予bin目录下的
jindo-util
文件的读、写、执行的权限。chmod 700 jindo-util
将
jindo-util
文件重命名为jindo
。mv jindo-util jindo
新建配置文件
jindosdk.cfg
,然后在配置文件中添加以下配置项。[common]保持以下默认配置。 logger.dir = /tmp/jindo-util/ logger.sync = false logger.consolelogger = false logger.level = 0 logger.verbose = 0 logger.cleaner.enable = true hadoopConf.enable = false [jindosdk]自定义以下配置项。 <!-- 以下以杭州地域为例,其他地域请根据实际情况替换。 --> fs.oss.endpoint = cn-hangzhou.oss-dls.aliyuncs.com <!-- 配置访问OSS-HDFS服务的AccessKeyId、AccessKeySecret。 --> fs.oss.accessKeyId = LTAI******** fs.oss.accessKeySecret = KZo1********
设置环境变量。
export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>
<JINDOSDK_CONF_DIR>填写
jindosdk.cfg
配置文件所在的绝对路径。
通过Jindo CLI命令访问OSS-HDFS服务。
上传文件
将本地根目录下的examplefile.txt文件上传至examplebucket。
./jindo fs -put examplefile.txt oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
新建目录
在examplebucket下创建名为dir/的目录。
./jindo fs -mkdir oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/dir/
查看文件或目录信息
查看examplebucket下的文件或目录信息。
./jindo fs -ls oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
获取文件或目录大小
获取examplebucket下所有文件或目录的大小。
./jindo fs -du oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
查看文件内容
查看examplebucket下名为localfile.txt的文件内容。
./jindo fs -cat oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/localfile.txt
重要 查看文件内容时,文件内容将以纯文本形式显示。如果文件内容进行了特定格式的编码,请使用HDFS的Java API读取并解码文件内容。下载文件
将examplebucket下的exampleobject.txt下载到本地根目录文件夹/tmp。
./jindo fs -get oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt /tmp/
删除目录或文件
删除examplebucket下destfolder/目录及其目录下的所有文件。
./jindo fs -rm -r oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/destfolder/