2014-05-06 18 views
5

Jak uruchomić skrypt we wszystkich węzłach (master i slaves) na Amazon EMR, skrypt-runner.jar działa tylko na Namenode.Uruchamianie skryptu na wszystkich węzłach Hadoop w Amazon EMR

+0

Czy możesz wyjaśnić, czy mówisz o uruchomieniu skryptu w czasie ładowania początkowego, o odpowiedzi na @ Paulo's poniżej, czy w częściowym przebiegu? Jeśli to pierwsze, prawdopodobnie powinieneś przyjąć odpowiedź Paula. –

+0

Mam to samo pytanie, a akcja ładowania początkowego nie jest dla mnie wyborem. Jak korzystać ze skryptu-runner.jar, aby uruchomić skrypt we wszystkich węzłach (master i slaves). – jyu

Odpowiedz

0

Masz możliwość bootstrap:

Można użyć działanie bootstrap instalowania dodatkowego oprogramowania i zmiany konfiguracji aplikacji w klastrze. Akcje Bootstrap to skrypty uruchamiane w węzłach klastra, gdy usługa Amazon EMR uruchamia klaster. Działają przed uruchomieniem Hadoop i zanim węzeł rozpocznie przetwarzanie danych. Można tworzyć niestandardowe akcje ładowania początkowego lub korzystać z predefiniowanych akcji ładowania początkowego dostarczanych przez usługę Amazon EMR.

z dokumentacji: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html

Jest to tak proste, jak umieszczenie skryptu wykonać kopiowanie do S3, a następnie, jeśli zaczynasz EMR z wiersza poleceń, należy dodać parametr takiego:

--bootstrap-action 's3://my-bucket/boostrap.sh' 

Lub jeśli robisz to przez interfejs sieciowy, po prostu wprowadź lokalizację pliku jako "Niestandardową akcję" w "Akcje Bootstrap".

Powiązane problemy