Impala Shell - 无法从Cloudera集群上的链中的任何提供程序加载AWS凭据

时间:2016-06-08 10:45:50

标签: amazon-s3 cloudera aws-cli impala

我有一个Cloudera集群,包含3个工作节点,1个管理器和1个网关机器。我已使用密钥和访问密钥在群集上配置了aws凭据。但我无法对我的网关机器上的s3存储桶执行任何操作。创建表或数据库或查询会抛出异常:

错误:AnalysisException:null CAUSED BY:AmazonClientException:无法从链中的任何提供者加载AWS凭证

我能够列出存储桶或执行与aws CLI相关的操作。仅在Impala shell中,它会抛出此错误。

2 个答案:

答案 0 :(得分:0)

群集上的每个impalad节点实际上都在进行工作,因此每个节点都需要访问S3,而不仅仅是网关。

答案 1 :(得分:0)

您需要在hdfs-site.xml中配置AWS AccessKey。 您可以按照此Cloudera文章中的步骤操作: https://www.cloudera.com/documentation/enterprise/5-7-x/topics/impala_s3.html

您需要在hdfs-site / xml中添加以下属性:

<property>
  <name>fs.s3a.access.key</name>
  <value>your_access_key</value>
</property>
<property>
  <name>fs.s3a.secret.key</name>
  <value>your_secret_key</value>
</property>

如果使用代理,您还需要添加fs.s3a.proxy.host和fs.s3a.proxy.port属性。