このトピックでは、EMR クラスターから OSS または OSS-HDFS にアクセスする際の、アクセスキーペアに関する一般的な問題とその解決策について説明します。
OSS または OSS-HDFS へのパスワードなしのアクセスの有効化
JindoSDK は、クラスターの ECS インスタンスにアタッチされている RAM ロールを使用して、OSS または OSS-HDFS にアクセスするためのセキュリティトークンを取得します。このロールは、デフォルトでは AliyunECSInstanceForEMRRole です。
Hadoop-Common サービス設定ページで、[core-site.xml] タブに移動します。fs.oss.credentials.provider パラメーターの値が com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider であることを確認します。そうでない場合は、パラメーターをこの値に設定し、Save をクリックします。これにより、OSS または OSS-HDFS へのパスワードなしのアクセスが有効になります。
パスワードなしのアクセスの確認
-
方法 1:次のコマンドを実行して、RAM ロールの認証情報を取得します。
curl http://100.100.100.200/latest/meta-data/Ram/Security-credentials/AliyunECSInstanceForEMRRoleコマンドが次の形式で結果を返した場合、パスワードなしのアクセスが可能です。
{ "AccessKeyId" : "STS.NUreXXXXXX", "AccessKeySecret" : "BsmbnDoXXXXXXXX", "Expiration" : "2022-11-22T11:27:39Z", "SecurityToken" : "CAISlwJ1q6FXXXXXXX", "LastUpdated" : "2022-11-22T05:27:39Z", "Code" : "Success" } -
方法 2:パスワードなしのアクセスを設定してテストします。
-
Hadoop-Common サービス設定ページで、[core-site.xml] タブに移動します。fs.oss.credentials.provider パラメーターの値が com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider であることを確認します。そうでない場合は、パラメーターをこの値に設定し、Save をクリックします。
-
HDFS シェルを使用して OSS または OSS-HDFS にアクセスします。アクセスに成功すると、パスワードなしのアクセスが可能であることが確認できます。
-
HiveServer2 または Presto からの定期的なアクセス障害
一部の JindoSDK バージョンでは、パスワードなしのアクセスに関する既知の問題があります。詳細については、「JindoData の既知の問題」をご参照ください。
-
方法 1:静的なアクセスキーペアを使用します。
システムを構成して SimpleCredentialsProvider を使用します。詳細については、「OSS/OSS-HDFS 認証情報プロバイダーの設定」をご参照ください。
-
方法 2:JindoSDK を最新バージョンにアップグレードします。詳細については、「EMR クラスター上の JindoSDK のアップグレードとロールバック (x86)」をご参照ください。
エラー:アクセスパス内のアクセスキーペア
-
エラーメッセージ:
The Filesystem URI contains login details. This authentication mechanism is no longer supported. -
原因:
アクセスキーペア (AccessKey ID と AccessKey Secret) の漏洩などのセキュリティリスクを防ぐため、JindoSDK 4.0.0 以降では、アクセスパスに認証情報を含めることはサポートされていません。
-
解決策:
-
方法 1:アクセスパスからアクセスキーペアを削除します。
-
方法 2:パスにアクセスキーペアを含める必要がある場合は、Hadoop-Common サービス設定ページに移動し、[core-site.xml] タブをクリックし、Add Configuration Item をクリックします。次の設定を追加します。
パラメーター
値
fs.oss.uri-with-secrets.enable
true
設定を追加した後、Save をクリックします。
-