VPC環境で利用できます。
Object Storageを作成して HDFSデータを連携させ、Object Storageに HDFSのデータをコピーする方法について説明します。
Object Storage作成
HDFSデータを連携するには、まず Object Storageが作成されている必要があります。
NAVERクラウドプラットフォームコンソールで、Object Storageサービスを選択してバケット(Bucket)を作成します。Object Storage作成に関する詳細は、Object Storage の概要をご確認ください。
API認証キー作成
Object Storageと連携するには、API認証キーを作成する必要があります。
- API認証キーを参照して、API認証キーを作成します。
- Access Key ID、Secret Keyを確認します。
- HDFSデータの連携時に使用されます。
HDFSへのファイルコピー
バケットと API認証キーをいずれも作成したら、VMで Data Forestが提供する CLIを利用して開発環境を構成します。
開発環境の構成が完了すると、Hadoopコマンドに以下の例のように Object Storageアクセスアドレスや認証キーを設定して cpにデータをコピーできます。
$ hadoop fs -Dfs.s3a.endpoint=http://kr.object.private.ncloudstorage.com -Dfs.s3a.access.key={ACCESS_KEY_ID} -Dfs.s3a.secret.key={SECRET_KEY} -Dfs.s3a.connection.ssl.enabled=false -cp hdfs://koya/user/{USERNAME}/ExampleFile s3a://{BUCKET_NAME}
AWS CLIで Object Storageにファイルをコピー
AWS S3で提供する CLIを利用して NAVERクラウドプラットフォームの Object Storageを使用できます。
CLIを利用するための環境設定とコマンドの使い方は、Object Storage CLI ご利用ガイドをご参照ください。
1.アプリ作成
VMにアクセスし、以下のように AWS CLIコマンドを利用して認証情報を設定します。
$ aws configure
AWS Access Key ID [****************leLy]: ACCESS_KEY_ID
AWS Secret Access Key [None]: SECRET_KEY
Default region name [None]: [Enter]
Default output format [None]: [Enter]
2.マイバケット情報の確認
認証情報の設定が完了したら、CLIを使用して作成しておいたバケットリストを確認します。
$ aws --endpoint-url=https://kr.object.private.ncloudstorage.com s3 ls
2020-06-24 11:09:41 bucket-1
2020-07-14 18:00:17 bucket-3
2020-09-17 19:37:36 bucket-4
2020-09-17 20:23:39 bucket-6
- CLIを利用する場合、
--endpoint-urlオプションは必須です。 - VPC環境の場合、Object Storageの endpoint-urlアドレスは
kr.object.private.ncloudstorage.comです。
3.単一ファイルのコピー
S3 cpコマンドを利用して特定のファイルを特定のバケットにアップロードします。
$ aws --endpoint-url=http://kr.object.private.ncloudstorage.com s3 cp SOURCE_FILE s3://DEST_BUCKET/FILE_NAME
4.大量ファイルのコピー
バケットとディレクトリ、または2つのバケットの内容を同期するには、S3 syncコマンドを使用します。
$ aws --endpoint-url=http://kr.object.private.ncloudstorage.com s3 sync SOURCE_DIR s3://DEST_BUCKET/
--delete オプションを使用する場合、ソースにないファイルやオブジェクトが削除されることがありますのでご注意ください。
ディレクトリと下位のファイルを一度に Object Storageにアップロードするには、S3 cpの --recursive オプションを使用してください。
$ aws --endpoint-url=http://kr.object.private.ncloudstorage.com s3 cp --recursive SOURCE_DIR s3://DEST_BUCKET/