如果您希望通過命令列的方式在開通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/