OSS-HDFS は特定のバージョンの Alibaba Cloud E-MapReduce (EMR) クラスターに組み込まれており、標準的な Hadoop 分散ファイルシステム (HDFS) Shell コマンドを使用して OSS-HDFS の読み取りおよび書き込みが可能です。
注: 自己管理型 Hadoop クラスターを使用する場合は、代わりに非 EMR 接続方法に従ってください。詳細については、「非 EMR クラスターを OSS-HDFS に接続」をご参照ください。
前提条件
作業を開始する前に、以下の要件を満たしていることを確認してください。
OSS-HDFS が有効化された OSS バケットと、OSS-HDFS へのアクセス権限が付与された Resource Access Management (RAM) ロールが必要です。詳細については、「OSS-HDFS の有効化とアクセス権限の付与」をご参照ください。
EMR クラスターを OSS-HDFS に接続するための必要な権限が必要です。デフォルトでは、Alibaba Cloud アカウント (root ユーザー) にはこれらの権限が付与されています。RAM ユーザーを使用する場合は、事前に RAM ユーザーに必要な権限を付与してください。詳細については、「RAM ユーザーに EMR クラスターを OSS-HDFS に接続する権限を付与」をご参照ください。
EMR クラスターを OSS-HDFS に接続
手順 1:EMR クラスターの作成
E-MapReduce コンソールにログインします。左側のナビゲーションウィンドウで、EMR on ECS をクリックします。
以下の設定で EMR クラスターを作成します。その他のパラメーターはすべてデフォルト値を使用してください。詳細については、「クラスターの作成」をご参照ください。
設定項目 必須値 プロダクトバージョン EMR-3.46.2 以降、または EMR-5.12.2 以降 クラスターのルートストレージディレクトリ OSS-HDFS が有効化されたバケット
手順 2:EMR クラスターへのログイン
作成したクラスターをクリックします。
ノード タブをクリックし、ノードグループの左側にある
をクリックします。Elastic Compute Service (ECS) インスタンス ID をクリックします。「インスタンス」ページで、インスタンス ID の横にある 接続 をクリックして Workbench 経由でログインします。
Windows または Linux で SSH キーペアまたは SSH パスワードを使用してログインする方法については、「クラスターへのログイン」をご参照ください。
手順 3:HDFS Shell コマンドの実行
HDFS Shell コマンドを使用して OSS-HDFS の読み取りおよび書き込みを行います。OSS-HDFS のエンドポイント形式は以下のとおりです。
oss://<bucket-name>.<region-id>.oss-dls.aliyuncs.com/ローカルファイルのアップロード
次のコマンドを実行して、ローカルのルートディレクトリにある examplefile.txt を examplebucket にアップロードします。
hdfs dfs -put examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/オブジェクトのダウンロード
次のコマンドを実行して、exampleobject.txt を examplebucket からローカルの /tmp/ ディレクトリにダウンロードします。
hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt /tmp/サポートされている HDFS Shell コマンドの全一覧については、「Hadoop Shell コマンドを使用した OSS-HDFS へのアクセス」をご参照ください。