Talend Big Data: java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries

Problem

Podczas, gdy uruchomisz job w Talend Big Data pojawi Ci warning:

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries 

lub 

java.io.FileNotFoundException: The hadoop home directory (hadoop.home.dir) doesn't contain the required winutils.exe binary

 

Rozwiązanie #1 (rekomendowane)

  1. Pobierz plik wintuils.exe np. z tej strony na GitHub (https://github.com/steveloughran/winutils) w odpowiadającej wersji Twojego środowiska Hadoop.
  2. Utwórz katalog: C:\hadoop\bin
  3. Skopiuj wcześniej pobrany plik winutlis.exe to folderu C:\hadoop\bin
  4. Utwórz nową zmienna środowiskową: HADOOP_HOME i jako wartość podaj ścieżkę do folderu, gdzie znajduję się plik winutils.exe: 
    HADOOP_HOME=C:\hadoop\bin

     

  5. Uruchom ponownie Talend Studio

Rozwiązanie #2

  1. Pobierz plik wintuils.exe np. z tej strony na GitHub (https://github.com/steveloughran/winutils) w odpowiadającej wersji Twojego środowiska Hadoop.
  2. Utwórz katalog: C:\hadoop\bin
  3. Skopiuj wcześniej pobrany plik winutlis.exe to folderu C:\hadoop\bin
  4. W konfiguracji joba w Talend Studio otwórz zakładkę “Run –> Advanced”.
  5. W sekcji JVM Settings kliknij w przycisk new, aby dodać nowy parametr.
  6. Dodaj argument jak poniżej:-Dhadoop.home.dir=C:\hadoop\bin
    -Dhadoop.home.dir=C:\hadoop\bin

     

Podsumowanie

Dlaczego Rozwiązanie #1 jest rekomendowane? A dlatego, że wykonujesz tą czynność tylko raz i będzie ona miała wpływ na wszystkie joby, które tworzysz.

Natomiast w Rozwiązaniu #2 należy dla każdego nowo utworzonego joba dodawać argument -Dhadoop.home.dir=C:\hadoop\bin w sekcji  “Run –> Advanced”.

 

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej oraz udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

Leave a Reply

avatar
  Subscribe  
Powiadom o
Close Menu