EMR クラスター内で OSS または OSS-HDFS へのパスワードなしアクセスが有効かどうかを確認する方法を教えてください。
HiveServer2 または Presto を使用して OSS または OSS-HDFS にアクセスできない場合(約 5~6 時間ごとに発生)の対処方法を教えてください。
OSS または OSS-HDFS のパスに AccessKey ペアが含まれているというエラーが報告された場合の対処方法を教えてください。
EMR クラスター内でパスワードなしのモードで OSS または OSS-HDFS にアクセスする方法
EMR クラスターを作成すると、Elastic Compute Service (ECS) アプリケーションロールがクラスターに自動的に関連付けられます。デフォルトでは、このロールは AliyunECSInstanceForEMRRole です。JindoSDK はこのロールを使用してセキュリティトークンを取得し、Object Storage Service (OSS) または OSS-HDFS にアクセスします。

パスワードなしアクセスを有効化するには、EcsStsCredentialsProvider が core-site.xml に設定されていることを確認してください。
Hadoop-Common サービスページの[設定]タブに移動し、[core-site.xml]タブをクリックします。
fs.oss.credentials.providerの値にcom.aliyun.jindodata.oss.auth.EcsStsCredentialsProviderが含まれているか確認します。値が存在しない場合は、パラメーター値に
com.aliyun.jindodata.oss.auth.EcsStsCredentialsProviderを追加し、[保存] をクリックします。
EMR クラスター内で OSS または OSS-HDFS へのパスワードなしアクセスが有効かどうかを確認する方法
オプション 1:RAM ロールが有効な認証情報を返すことを確認
クラスターノード上で以下のコマンドを実行し、RAM ロールの認証情報を照会します。
curl http://100.100.100.200/latest/meta-data/Ram/Security-credentials/AliyunECSInstanceForEMRRole応答に "Code": "Success" および有効な SecurityToken が含まれている場合、パスワードなしアクセスが有効です。
{
"AccessKeyId": "STS.NUreXXXXXX",
"AccessKeySecret": "BsmbnDoXXXXXXXX",
"Expiration": "2022-11-22T11:27:39Z",
"SecurityToken": "CAISlwJ1q6FXXXXXXX",
"LastUpdated": "2022-11-22T05:27:39Z",
"Code": "Success"
}オプション 2:Hadoop シェルコマンドを使用したアクセステスト
Hadoop-Common サービスページの [設定] タブに移動して、[core-site.xml] タブをクリックします。
fs.oss.credentials.providerにcom.aliyun.jindodata.oss.auth.EcsStsCredentialsProviderが含まれていることを確認します。値が存在しない場合は、追加して [保存] をクリックします。Hadoop 分散ファイルシステム (HDFS) シェルコマンドを実行して OSS または OSS-HDFS にアクセスします。コマンドが正常に完了した場合、パスワードなしアクセスが正しく機能しています。
HiveServer2 または Presto を使用して OSS または OSS-HDFS にアクセスできない場合(約 5~6 時間ごとに発生)の対処方法
JindoData の一部のバージョンでは、パスワードなしアクセスに関する既知の問題が存在します。影響を受けるバージョンの完全な一覧については、「JindoData 4.X の既知の問題」をご参照ください。
方法 1:固定の AccessKey ペアを使用
SimpleCredentialsProvider を構成して、固定の AccessKey ペアで認証を行います。詳細については、「OSS または OSS-HDFS の認証情報プロバイダーの構成」をご参照ください。
方法 2:JindoSDK のアップグレード
パスワードなしアクセスに関する既知の問題を修正した最新バージョンの JindoSDK にアップグレードします。「EMR クラスターにおける JindoSDK のアップグレード」をご参照ください。
OSS または OSS-HDFS のパスに AccessKey ペアが含まれているというエラーが報告された場合の対処方法
エラーメッセージ:
ファイルシステム URI にログイン情報が含まれています。この認証メカニズムは、今後サポートされません。JindoSDK バージョン 4.0.0 以降では、認証情報の漏洩を防ぐため、ファイルシステム URI への AccessKey ペアの埋め込みを拒否します。
URI への AccessKey ペアの埋め込みはセキュリティリスクです。URI がログ出力されたり外部に公開されたりした場合、認証情報が不正に取得される可能性があります。可能な限り、URI から AccessKey ペアを削除してください。
オプション 1:URI からの AccessKey ペアの削除(推奨)
アプリケーションまたは構成を更新し、アクセスパスに AccessKey ペアを埋め込む代わりに、認証情報プロバイダーを使用するようにしてください。
オプション 2:URI ベースの認証の再有効化
テストケースで URI への認証情報の埋め込みが必要な場合、Hadoop-Common サービスページの [core-site.xml] タブに、次の設定項目を追加します。
| 設定項目 | 値 |
|---|---|
fs.oss.uri-with-secrets.enable | true |
[設定項目の追加] をクリックし、上記の値を入力してから、[保存] をクリックします。