Можно ли сохранить состояние хранилища HDFS в кластере emr после его воссоздания? По моему опыту, все файлы, хранящиеся локально, теряются.

Будет ли вариант использовать подключенный том, скажем, EFS, и подключить кластер EMR к этому файлу? бывший:

  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///mnt/my/efs/location/</value>
  </property> 

Ищете способ выбрать, где в последний раз остановился кластер, если он был удален. Любая помощь будет оценена по достоинству.

0
ProgrammingUnicorn 21 Мар 2020 в 01:41

1 ответ

Кластер EMR использует локальные хранилища и смонтированные EBS экземпляров EC2 для дисковых областей HDFS (вы можете проверить, что объем доступного дискового пространства HDFS больше или меньше количества дисков, смонтированных на узлах кластера EMR). Насколько мне известно, использование EFS не является вариантом, поскольку разрешения IAM на использование EFS и шлюза безопасности для подключения не являются параметрами при создании кластера EMR.

Можно использовать S3DistCp (s3-dist-cp) для скопировать с HDFS на S3. Или придерживайтесь EMRFS вместо HDFS.

2
mon 21 Мар 2020 в 02:33
Если бы можно было запустить процесс через terraform, стал бы EMR читать из существующей файловой системы или пытаться создать новую?
 – 
ProgrammingUnicorn
21 Мар 2020 в 07:23
Вы можете загрузиться из Terraform (ресурс aws_emr_cluster имеет атрибут bootstrap_action, чтобы указать сценарий для использования, который вы можете загрузить на S3 и указать на S3 из bootstrap_action). Я не уверен, что "читать из существующих". Bootstrap предназначен для установки нового кластера EMR, а не существующего кластера EMR.
 – 
mon
21 Мар 2020 в 09:38
Если вы создаете новый кластер EMR, файл/диск экземпляров EC2 в кластере EMR всегда новые. Все ранее использовавшиеся тома localstore или EBS исчезли. Вы не можете каким-то волшебным образом вспомнить их и использовать. Это четко написано в docs.aws.amazon.com. /emr/latest/ManagementGuide/…. «Тома Amazon EBS, подключенные к кластерам EMR, являются эфемерными: тома удаляются после закрытия кластера и экземпляра (например, при сокращении групп экземпляров), поэтому важно, чтобы вы не ожидали, что данные сохранятся».
 – 
mon
21 Мар 2020 в 09:49
Как ясно сказано в документе, откажитесь от ожидания, что каким-то образом EBS или Localstore, подключенные к вашему кластеру EMR, могут быть сохранены или повторно использованы.
 – 
mon
21 Мар 2020 в 09:50
В документе говорится, что «EMRFS может помочь обеспечить наличие постоянного «источника правды» для данных HDFS, хранящихся в Amazon S3». Это означает, что вы не можете рассчитывать на сохранение содержимого HDFS после того, как ваш кластер EMR исчезнет.
 – 
mon
21 Мар 2020 в 09:51