AWS Data Pipeline não está mais disponível para novos clientes. Os clientes existentes do AWS Data Pipeline podem continuar usando o serviço normalmente. Saiba mais
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Resolver problemas comuns
Este tópico fornece vários sintomas de AWS Data Pipeline problemas e as etapas recomendadas para resolvê-los.
Conteúdo
Componente de pipeline preso no status WAITING_ON_DEPENDENCIES
O cluster do EMR falha com erro: o token de segurança incluído na solicitação é inválido
Código de status: 400 Código de erro: PipelineNotFoundException
Erro no código de status do executor remoto: 404, AWS Service: Amazon S3
Acesso negado – Não autorizado para executar a função datapipeline:
O Amazon EMR mais antigo AMIs pode criar dados falsos para arquivos CSV grandes
Pipeline preso em status pendente
Um pipeline que aparece travado com o status PENDING indica que ele ainda não foi ativado ou que a ativação falhou devido a um erro na definição do pipeline. Certifique-se de não ter recebido nenhum erro ao enviar seu pipeline usando a AWS Data Pipeline CLI ou ao tentar salvar ou ativar seu pipeline usando o AWS Data Pipeline console. Além disso, verifique se o pipeline tem uma definição válida.
Para visualizar a definição do pipeline na tela usando a CLI:
aws datapipeline --get-pipeline-definition --pipeline-id
df-EXAMPLE_PIPELINE_ID
Certifique-se de que a definição de pipeline foi concluída, verifique as chaves de fechamento, as vírgulas necessárias, as referências ausentes e outros erros de sintaxe. É melhor usar um editor de texto que pode validar visualmente a sintaxe de arquivos JSON.
Componente de pipeline preso no status Waiting for Runner
Se o pipeline está no estado SCHEDULED e uma ou mais tarefas aparecem presas no estado WAITING_FOR_RUNNER, assegure-se de que você configurou um valor válido para os campos runsOn ou workerGroup para essas tarefas. Se ambos os valores estão vazios ou ausentes, a tarefa não pode ser iniciada porque não há associação entre a tarefa e um operador para executar as tarefas. Nesta situação, você definiu o trabalho, mas não definiu o computador que fará esse trabalho. Se aplicável, verifique se o valor workerGroup atribuído ao componente do pipeline tem exatamente o mesmo nome e caso do valor workerGroup que você configurou para Task Runner.
nota
Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado.
Outra causa potencial desse problema é que o endpoint e a chave de acesso fornecidos ao Task Runner não são os mesmos do AWS Data Pipeline console ou do computador em que as ferramentas AWS Data Pipeline CLI estão instaladas. Você pode criar novos pipelines, sem erros visíveis, mas o Task Runner consulta o local errado devido à diferença de credenciais, ou consulta o local correto com permissões insuficientes para identificar e executar o trabalho especificado pela definição do pipeline.
Componente de pipeline preso no status WAITING_ON_DEPENDENCIES
Se o pipeline está no estado SCHEDULED
e uma ou mais tarefas aparecem presas no estado WAITING_ON_DEPENDENCIES
, certifique-se de que as precondições iniciais do seu pipeline foram atendidas. Se as precondições do primeiro objeto na cadeia lógica não forem atendidas, nenhum dos objetos que dependem do primeiro objeto sairá do estado WAITING_ON_DEPENDENCIES
.
Por exemplo, considere o trecho a seguir de uma definição de pipeline. Nesse caso, o InputData
objeto tem uma condição prévia “Pronto”, especificando que os dados devem existir antes que o InputData objeto seja concluído. Se os dados não existirem, o InputData objeto permanecerá no WAITING_ON_DEPENDENCIES
estado, aguardando que os dados especificados pelo campo de caminho estejam disponíveis. Quaisquer objetos que dependam da InputData mesma forma permanecem em um WAITING_ON_DEPENDENCIES
estado esperando que o InputData objeto alcance o FINISHED
estado.
{ "id": "InputData", "type": "S3DataNode", "filePath": "s3://elasticmapreduce/samples/wordcount/wordSplitter.py", "schedule":{"ref":"MySchedule"}, "precondition": "Ready" }, { "id": "Ready", "type": "Exists" ...
Além disso, verifique se seus objetos têm as permissões adequadas para acessar os dados. No exemplo anterior, se as informações no campo de credenciais não tivessem permissões para acessar os dados especificados no campo de caminho, o InputData objeto ficaria preso em um WAITING_ON_DEPENDENCIES
estado porque não pode acessar os dados especificados pelo campo de caminho, mesmo que esses dados existam.
Também é possível que um recurso comunicando-se com o Amazon S3 não tenha um endereço IP público associado a ele. Por exemplo, um Ec2Resource
em uma sub-rede pública deve ter um endereço IP público associado a ela.
Por fim, em determinadas condições, instâncias de recursos podem atingir o estado WAITING_ON_DEPENDENCIES
muito antes que suas atividades associadas sejam programadas para iniciar, o que pode oferecer a impressão de que o recurso ou a atividade não estão funcionando.
A execução não inicia quando programada
Verifique se você escolheu o tipo de programação correta que determina se sua tarefa começa no início do intervalo de programação (estilo Cron) ou no final do intervalo de programação (estilo de séries temporais).
Além disso, verifique se você especificou corretamente as datas em seus objetos de agendamento e se os endDateTime valores startDateTime e estão no formato UTC, como no exemplo a seguir:
{ "id": "MySchedule", "startDateTime": "2012-11-12T19:30:00", "endDateTime":"2012-11-12T20:30:00", "period": "1 Hour", "type": "Schedule" },
Os componentes do pipeline são executados na ordem errada
Você pode perceber que os horários de início e término dos seus componentes de pipeline são executados na ordem errada ou em uma sequência diferente da esperada. É importante compreender que componentes de pipeline podem começar a ser executados simultaneamente se suas precondições forem atendidas no tempo de inicialização. Em outras palavras, os componentes de pipeline não são executados sequencialmente por padrão. Se você precisa de uma determinada ordem de execução, deve controlar essa ordem com precondições e campos dependsOn
.
Verifique se você está usando o campo dependsOn
preenchido com uma referência para os componentes corretos de pré-requisitos e se todos os ponteiros necessários entre os componentes estão presentes para alcançar a ordem que você precisa.
O cluster do EMR falha com erro: o token de segurança incluído na solicitação é inválido
Verifique suas funções do perfil do IAM, políticas e relações de confiança conforme descrito em Funções do IAM para AWS Data Pipeline.
Permissões insuficientes para acessar recursos
As permissões que você define nas funções do IAM determinam se você AWS Data Pipeline pode acessar seus clusters e EC2 instâncias do EMR para executar seus pipelines. Além disso, o IAM; fornece o conceito de relacionamentos de confiança que vão além para permitir a criação dos recursos em seu nome. Por exemplo, quando você cria um pipeline que usa uma EC2 instância para executar um comando para mover dados, AWS Data Pipeline pode provisionar essa EC2 instância para você. Se você encontrar problemas, especialmente aqueles que envolvem recursos que você pode acessar manualmente, mas AWS Data Pipeline não pode, verifique suas funções, políticas e relações de confiança do IAM conforme descrito emFunções do IAM para AWS Data Pipeline.
Código de status: 400 Código de erro: PipelineNotFoundException
Esse erro significa que suas funções padrão do IAM podem não ter as permissões necessárias AWS Data Pipeline para funcionar corretamente. Para obter mais informações, consulte Funções do IAM para AWS Data Pipeline.
Criar um pipeline provoca um erro de token de segurança
Você recebe o seguinte erro quando tenta criar um pipeline:
Falha ao criar pipeline com 'pipeline_name'. Erro: UnrecognizedClientException - O token de segurança incluído na solicitação é inválido.
Não é possível ver detalhes do pipeline no console
O filtro do pipeline do AWS Data Pipeline console se aplica à data de início programada de um pipeline, independentemente de quando o pipeline foi enviado. É possível enviar um novo pipeline usando uma data de início programada que ocorre no passado, que o filtro de data padrão pode não exibir. Para ver os detalhes do pipeline, altere o filtro de data a fim de assegurar que a data de início programada do pipeline esteja no intervalo de datas do filtro.
Erro no código de status do executor remoto: 404, AWS Service: Amazon S3
Este erro significa que o Task Runner não pode acessar seus arquivos no Amazon S3. Verificar se:
-
Suas credenciais estão definidas corretamente
-
O bucket do Amazon S3 que você está tentando acessar existe
-
Você está autorizado a acessar o bucket do Amazon S3
Acesso negado – Não autorizado para executar a função datapipeline:
Nos logs do Task Runner, você pode ver um erro semelhante ao seguinte:
-
Código do status do ERRO: 403
-
Serviço da AWS: DataPipeline
-
Código de erro da AWS: AccessDenied
-
Mensagem de erro da AWS: O usuário: arn:aws:sts: :xxxxxxxxxxxx:federated-user/i-xxxxxxxx não está autorizado a executar: datapipeline:. PollForTask
nota
Nessa mensagem de erro, PollForTask pode ser substituída por nomes de outras AWS Data Pipeline permissões.
Essa mensagem de erro indica que a função do IAM que você especificou precisa de permissões adicionais para interagir com ela AWS Data Pipeline. Certifique-se de que sua política de função do IAM contenha as seguintes linhas, que PollForTask serão substituídas pelo nome da permissão que você deseja adicionar (use * para conceder todas as permissões). Para obter mais informações sobre como criar um novo perfil do IAM e aplicar uma política a ele, consulte Gerenciar políticas do IAM no guia Usar IAM.
{ "Action": [ "datapipeline:PollForTask" ], "Effect": "Allow", "Resource": ["*"] }
O Amazon EMR mais antigo AMIs pode criar dados falsos para arquivos CSV grandes
No Amazon EMR AMIs anterior à versão 3.9 (3.8 e versões anteriores), AWS Data Pipeline usa um formato personalizado InputFormat para ler e gravar arquivos CSV para uso com trabalhos. MapReduce Isso é usado quando o serviço prepara tabelas de e para o Amazon S3. InputFormat Foi descoberto um problema com isso em que a leitura de registros de arquivos CSV grandes pode resultar na produção de tabelas que não são copiadas corretamente. Este problema foi corrigido em versões posteriores do Amazon EMR. Use AMI do Amazon EMR 3.9 ou um Amazon EMR com versão 4.0.0 ou superior.
AWS Data Pipeline Limites crescentes
Ocasionalmente, você pode exceder os limites específicos AWS Data Pipeline do sistema. Por exemplo, o limite de pipeline padrão é de 20 pipelines com 50 objetos em cada um deles. Se você descobrir que vai precisar de mais pipelines do que o limite, considere mesclar vários pipelines para criar um número menor de pipelines com mais objetos em cada um deles. Para obter mais informações sobre os limites do AWS Data Pipeline , consulte AWS Data Pipeline Limites. No entanto, se você não conseguir contornar os limites usando a técnica de mesclar pipelines, solicite um aumento na sua capacidade usando este formulário: Aumento de limite de pipeline de dados