Подготовка AWS EMR не выполняется, когда я использую пользовательский AMI - PullRequest
0 голосов
/ 07 февраля 2019

Проблема: У меня есть кластер EMR (вместе с рядом других ресурсов), определенный в шаблоне облачной информации.Я использую API остальных AWS для обеспечения моего стека.Это работает, я могу успешно подготовить стек.

Затем я внес одно изменение: я указал пользовательский AMI для своего кластера EMR.И теперь инициализация EMR завершается неудачей, когда я инициализирую свой стек.

И теперь мое создание стека не выполняется из-за сбоя инициализации EMR.Единственная информация, которую я могу найти, - это ошибка на консоли: null: Error provisioning instances..Копаясь в каждом экземпляре, я вижу, что мастер-узел завершился с ошибкой Status: Terminated. Last state change reason:Time out occurred during bootstrap

У меня настроено ведение журнала s3 для моего кластера EMR, но в корзине s3 нет журналов.

Подробности:

Я обновил свой скрипт облачной информации следующим образом: my_stack.cfn.yaml:

rMyEmrCluster:
  Type: AWS::EMR::Cluster
  ...
  Properties:
    ...
    CustomAmiId: "ami-xxxxxx" # <-- I added this

Настраиваемые детали AMI: Я добавляюпользовательский AMI, потому что мне нужно зашифровать корневой том EBS на всех моих узлах.(Это необходимо для документации )

Шаги, которые я предпринял для создания своего пользовательского AMI:

  1. Я запустил базовый AMI, который используется AWS для EMRузлы: emr 5.7.0-ami-roller-27 hvm ebs (ID: ami-8a5cb8f3)
  2. Я создал образ из своего запущенного экземпляра
  3. Я создал копию этого образа с включенным шифрованием корневого тома EBS.Я использую ключ шифрования по умолчанию.(Я должен создать свой собственный базовый образ из работающего экземпляра, потому что вам не разрешено создавать зашифрованную копию из AMI, которой вы не владеете)

Интересно, может ли это быть проблема с разрешениямиили, возможно, мой AMI неправильно настроен.Но для меня было бы целесообразно сначала найти несколько журналов, чтобы точно выяснить, что не так с подготовкой узлов.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Вы упоминаете, что создали свой пользовательский AMI на основе EMR AMI.Однако в соответствии с документацией, на которую вы ссылаетесь, ваш AMI должен основываться на «самом последнем поддерживаемом EBS Amazon Linux AMI».Ваш пользовательский AMI не обязательно должен быть основан на EMR AMI, и, действительно, я полагаю, что это может вызвать некоторые проблемы (хотя я сам не пробовал).

0 голосов
/ 07 февраля 2019

Я чувствую себя глупо.Я случайно использовал совершенно не связанный AMI (redhat 7 image) в качестве базового изображения вместо AMI, который EMR использует для своих узлов по умолчанию: emr 5.7.0-ami-roller-27 hvm ebs (ami-8a5cb8f3)

Я будуоставьте этот вопрос и ответьте в случае, если кто-то еще совершит ту же ошибку.

Убедитесь, что вы создали свой собственный AMI из правильного базового AMI: emr 5.7.0-ami-roller-27 hvm ebs (ami-8a5cb8f3)

...