Zaczynam bawić się z hadoop (ale nie mam dostępu do klastra, więc po prostu bawię się w trybie niezależnym). Moje pytanie brzmi: kiedy są ustawione klastry, w jaki sposób zadania są dystrybuowane i czy baza kodów może zostać przeniesiona do nowych węzłów?Czy Hadoop może dystrybuować zadania i bazę kodów?
Idealnie chciałbym uruchomić duże zadania wsadowe i jeśli potrzebuję więcej mocy, dodać nowe węzły do klastra, ale nie jestem pewien, czy będę musiał skopiować ten sam kod, który działa lokalnie, czy zrobić coś specjalnego, więc podczas pracy wsadowej mogę dodać pojemność. Pomyślałem, że mogę przechowywać mój codebase na HDFS i mieć go uruchomione lokalnie, aby uruchomić za każdym razem, gdy go potrzebuję, ale to nadal oznacza, że potrzebuję jakiegoś początkowego skryptu na serwerze i muszę najpierw uruchomić go ręcznie.
Wszelkie sugestie lub porady dotyczące tego, czy jest to możliwe, byłyby wspaniałe!
Dziękuję.
Dziękuję, świetna odpowiedź. Ma to sens w przypadku języka Java, ale czy jest tak również w przypadku przesyłania strumieni Pythona? – Lostsoul
Z http://hadoop.apache.org/common/docs/r0.15.2/streaming.html#Package+Files+ With+Job+Submissions: "Możesz określić dowolny plik wykonywalny jako element odwzorowujący i/lub reduktor. pliki wykonywalne nie muszą wcześniej istnieć na komputerach w klastrze, ale jeśli nie, musisz użyć opcji "-file", aby powiedzieć frameworkowi, aby spakowała pliki wykonywalne w ramach przesyłania zadań. " Wszystko powyżej dotyczące dodawania tasktrackerów ma również zastosowanie do przesyłania strumieniowego. –