Erros de permissões durante as operações de cluster do Amazon EMR
Os seguintes erros são comuns quando se utiliza permissões ou credenciais.
Tópicos
Você está inserindo as credenciais corretas para o SSH?
Se você não consegue usar o SSH para se conectar ao nó principal, é muito provável que haja um problema com suas credenciais de segurança.
Primeiro, verifique se o arquivo .pem contendo a sua chave SSH tem as permissões adequadas. Você pode usar o chmod para alterar as permissões de seu arquivo .pem, como mostrado no exemplo a seguir, onde você deve substituir mykey.pem pelo nome do seu próprio arquivo .pem.
chmod og-rwx mykey.pem
A segunda possibilidade é você não estar usando o par de chaves especificado quando o cluster foi criado. Isso é fácil de acontecer se você tiver criado vários pares de chaves. Verifique os detalhes do cluster no console do Amazon EMR (ou use a opção --describe na CLI) para obter o nome do par de chaves que foi especificado quando o cluster foi criado.
Após verificar se está usando o par de chaves correto e se as permissões estão definidas corretamente no arquivo .pem, você pode usar o comando a seguir para se conectar ao nó principal usando o SSH, onde você deve substituir mykey.pem pelo nome do arquivo .pem e hadoop@ec2-01-001-001-1.compute-1.amazonaws.com pelo nome DNS público do nó principal (disponível por meio da opção --describe na CLI ou do console do Amazon EMR).
Importante
Você deve usar o nome de login hadoop quando se conectar a um nó do cluster do Amazon EMR, caso contrário, poderá ocorrer um erro semelhante a Server refused our key.
ssh -i mykey.pem hadoop@ec2-01-001-001-1.compute-1.amazonaws.com
Para obter mais informações, consulte Como se conectar ao nó primário do cluster do Amazon EMR usando SSH.
Se você está usando o IAM, possui o conjunto apropriado de políticas do Amazon EC2?
Como o Amazon EMR usa instâncias do EC2 como nós, os usuários do Amazon EMR também precisam ter determinadas políticas definidas para o Amazon EC2 a fim de que o Amazon EMR possa gerenciar essas instâncias em nome do usuário. Se você não tiver as permissões necessárias, o Amazon EMR gerará o erro: “account is not authorized to call EC2”.
Para obter mais informações sobre as políticas do Amazon EC2 que sua conta do IAM precisa ter definidas para executar o Amazon EMR, consulte Como o Amazon EMR funciona com o IAM.