Jeg får følgende feil når jeg starter namenode for siste hadoop-2.2-utgivelse. Jeg fant ikke winutils exe-filen i hadoop bin-mappen. Jeg prøvde kommandoene nedenfor
$ bin/hdfs namenode -format
$ sbin/yarn-daemon.sh start resourcemanager
ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:863)
Hvis vi tar den binære distribusjonen av Apache Hadoop 2.2.0 og prøver å kjøre den på Microsoft Windows, får vi ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path.
Den binære distribusjonen av Apache Hadoop 2.2.0 inneholder ikke noen Windows-komponenter (som winutils.exe, hadoop.dll osv.). Disse er nødvendige (ikke valgfrie) for å kjøre Hadoop på Windows.
Så du må bygge en binær Windows-distribusjon av hadoop fra kildekodene ved å følge "BUILD.txt" filen som ligger i kildedistribusjonen av hadoop. Du kan også følge følgende innlegg for å få en trinnvis veiledning med skjermbilder
Bygg, installer, konfigurer og kjør Apache Hadoop 2.2.0 i Microsoft Windows OS .
FEIL util.shell: Failed to locate the winutils binary in the hadoop binary path.
Uttalelsen java.io.IOException: Kunne ikke finne den kjørbare filen null\bin\winutils.exe
forklarer at null blir mottatt når du utvider eller erstatter en miljøvariabel. Hvis du ser kilden i Shell.Java i Common Package, vil du se at HADOOP_HOME-variabelen ikke blir angitt, og du mottar null i stedet for den, og dermed oppstår feilen.
Så HADOOP_HOME må angis for dette på riktig måte, eller variabelen hadoop.home.dir-egenskapen.
Håper dette er til hjelp.
Takk for hjelpen, Kamleshwar.
winutils.exe er nødvendig for at hadoop skal kunne utføre hadoop-relaterte kommandoer. vennligst last ned hadoop-common-2.2.0 zip-filen. winutils.exe finner du i bin-mappen. Pakk ut zip-filen og kopier den til den lokale hadoop/bin-mappen.