我有一个Cloudera集群,包含3个工作节点,1个管理器和1个网关机器。我已使用密钥和访问密钥在群集上配置了aws凭据。但我无法对我的网关机器上的s3存储桶执行任何操作。创建表或数据库或查询会抛出异常:
错误:AnalysisException:null CAUSED BY:AmazonClientException:无法从链中的任何提供者加载AWS凭证
我能够列出存储桶或执行与aws CLI相关的操作。仅在Impala shell中,它会抛出此错误。
答案 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属性。