A correr o Amazon EMR com um AMI personalizado?

Eu preciso executar uma tarefa personalizada de C++ como uma redução de mapa na Amazon, e estava planejando usar o streaming Hadoop para isso. O executável mapper c++ baseia-se emdezenas de bibliotecas personalizadas , Algumas das quais são demoradas a construir.

esperava que o EMR suportasse o amis personalizado (já tem um construído). No entanto, após uma cuidadosa análise da documentação, parece que só é possível executar EMR em imagens predefinidas: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-cli-commands.html.

Está a escapar-me alguma coisa? Se, de facto, só forem suportados AMIs pré-definidos, Qual é a melhor opção para pôr isto a funcionar? O executável, obviamente, está no s3, mas posso realmente empacotá-lo para que não dependa de nenhuma libs compartilhada?

Obrigado.

Author: user2113258, 2014-01-08

3 answers

Você está correto, por causa das muitas ferramentas de software e configurações necessárias em um nó de cluster Hadoop, apenas Amazon desde que o AMI seja permitido em EMR. http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-ami.html

Pode utilizar técnicas padrão de inicialização para instalar qualquer software adicional que necessite para executar no seu cluster. Ver http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html to saiba mais sobre as ações bootstrap.

De volta à sua mala de uso : Por que está a demorar tanto tempo a iniciar o seu caso de uso ? Porque há muitos pacotes ? Porque estás a compilá-los a partir da fonte ?

Neste último caso, pode valer a pena construir o teu .deb pacotes e para instalá-los a partir de um repositório personalizado para acelerar o processo bootstrap.

Se é só porque você tem muitos pacotes para instalar, receio que não haja nenhuma solução óbvia hoje. Posso pensar no EBS. instantâneos e volumes sendo criados e anexados durante o bootstrap-mas a viabilidade disso realmente depende do seu caso de uso.

 4
Author: Sébastien Stormacq, 2014-04-01 23:28:13

O amis personalizado é de facto um caso de uso muito interessante. Uma opção para você seria usar o Qubole que oferece suporte inbuilt para amis personalizados construídos, onde, em seu caso, instalar todas as suas bibliotecas necessárias, juntamente com todas as características legais do Qubole, como suporte para a autoscalagem, spot instâncias e muito mais!

Aviso: eu trabalho para a Qubole.

 2
Author: Rajat, 2015-06-28 01:35:14
Também estou a investigar o mesmo. Com base na primeira olhada na melhor opção de documentação para conseguir isso é fazendo opções de inicialização personalizadas.

Http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html

No entanto, para nós, serão precisos 15-20 minutos para executar o script personalizado. Eu estou esperando que haja uma maneira de personalizar o AMI e adicionar software necessário em AMI em vez de instalá-lo em cada nó quando eles estão vindo para cima.
 1
Author: Eswar Vandanapu, 2014-01-27 18:42:15