2016-06-08 4 views
0

У меня есть кластер Cloudera с 3 рабочими узлами, 1 менеджером и 1 шлюзовой машиной. Я настроил aws-учетные данные в кластере с помощью секретного ключа и ключа доступа. Но я не могу выполнить какое-либо действие в ведро s3 с моей машины Gateway. Создание таблицы или базы данных или обработку запросов бросает исключение:Impala Shell - Невозможно загрузить учетные данные AWS у любого поставщика в цепочке кластера Cloudera

ОШИБКА: AnalysisException: нулевой ВЫЗВАНЫ: AmazonClientException: Не удается загрузить учетные данные AWS от любого поставщика в цепи

Я могу перечислить ведра или выполнить действия, связанные с CLI aws. Только в оболочке Impala она выдает эту ошибку.

+0

Это на одной машине, правильно? Как вы настроили свои учетные данные? –

+0

Я не понимаю, что вы подразумеваете под одной машиной. Я обращаюсь к Impala с клиентской машины (Gateway) - на кластере Cloudera из 5 узлов. Я добавил ключ доступа и секретный ключ в расширенном фрагменте конфигурации HDFS Client (Safety Valve) для поля hdfs-site.xml. Также добавлены те же свойства на конфигурациях ульев и импала. –

ответ

0

Каждый узел impalad в кластере фактически выполняет работу, поэтому каждый узел должен иметь доступ к S3, а не только к шлюзу.

0

Вам необходимо настроить AWS AccessKey в файле hdfs-site.xml. Вы можете следовать процедуре по этой статье Cloudera: https://www.cloudera.com/documentation/enterprise/5-7-x/topics/impala_s3.html

Вам необходимо добавить следующие свойства в вашем HDFS-сайт/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> 

Если используется прокси-сервер, вам также необходимо добавить фс .s3a.proxy.host и fs.s3a.proxy.port.