Saya mendapatkan kesalahan berikut saat memulai namenode untuk rilis hadoop-2.2 terbaru. Saya tidak menemukan file exe winutils di folder bin hadoop. Saya mencoba di bawah perintah
$ 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)
Jawaban:
Solusi Sederhana: Unduh dari sini dan tambahkan ke
$HADOOP_HOME/bin
( Sumber )
PEMBARUAN PENTING:
Untuk hadoop-2.6.0 Anda dapat mengunduh binari dari blog Titus Barik >> .
Saya tidak hanya perlu menunjuk
HADOOP_HOME
ke direktori yang diekstrak[path]
, tetapi juga menyediakan properti sistem-Djava.library.path=[path]\bin
untuk memuat libs asli (dll).sumber
Jika Anda menghadapi masalah ini saat menjalankan aplikasi lokal mandiri dengan Spark (yaitu, setelah menambahkan spark-assembly-xxx-hadoopx.xxjar atau ketergantungan Maven ke proyek), solusi yang lebih sederhana adalah meletakkan winutils.exe (unduh dari sini ) di "C: \ winutil \ bin". Kemudian Anda dapat menambahkan winutils.exe ke direktori home hadoop dengan menambahkan baris berikut ke kode:
Sumber: Klik di sini
sumber
hadoop/bin/bin/
. Jadi copy sajabin
folder winutils di folder hadoopbin
. (HADOOP_HOME
disetel di env vars)System.setProperty("hadoop.home.dir", "c:\\winutil\\")
Jika kita secara langsung mengambil distribusi biner dari rilis Apache Hadoop 2.2.0 dan mencoba menjalankannya di Microsoft Windows, maka kita akan menemukan ERROR util.Shell: Gagal menemukan biner winutils di jalur biner hadoop.
Distribusi biner dari rilis Apache Hadoop 2.2.0 tidak berisi beberapa komponen asli windows (seperti winutils.exe, hadoop.dll, dll). Ini diperlukan (bukan opsional) untuk menjalankan Hadoop di Windows.
Jadi Anda perlu membangun distribusi biner asli windows dari hadoop dari kode sumber mengikuti file "BUILD.txt" yang terletak di dalam distribusi sumber hadoop. Anda juga dapat mengikuti posting berikut untuk panduan langkah demi langkah dengan tangkapan layar
Bangun, Instal, Konfigurasi, dan Jalankan Apache Hadoop 2.2.0 di OS Microsoft Windows
ERROR util.Shell: Gagal menemukan biner winutils di jalur biner hadoop
sumber
Pernyataan java.io.IOException: Tidak dapat menemukan null \ bin \ winutils.exe yang dapat dieksekusi
menjelaskan bahwa nol diterima saat memperluas atau mengganti Variabel Lingkungan. Jika Anda melihat Source di Shell.Java di Common Package, Anda akan menemukan bahwa variabel HADOOP_HOME tidak disetel dan Anda menerima null sebagai gantinya dan karenanya terjadi kesalahan.
Jadi, HADOOP_HOME perlu disetel untuk ini dengan benar atau properti variabel hadoop.home.dir.
Semoga ini membantu.
Terima kasih, Kamleshwar.
sumber
Winutils.exe digunakan untuk menjalankan perintah shell untuk SPARK. Saat Anda perlu menjalankan Spark tanpa menginstal Hadoop, Anda memerlukan file ini.
Langkah-langkahnya adalah sebagai berikut:
Unduh winutils.exe dari lokasi berikut untuk hadoop 2.7.1 https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin [CATATAN: Jika Anda menggunakan versi hadoop terpisah, silakan unduh winutils dari folder versi hadoop yang sesuai di GITHUB dari lokasi seperti yang disebutkan di atas.]
Sekarang, buat folder 'winutils' di C: \ drive. Sekarang buat folder 'bin' di dalam folder 'winutils' dan salin winutils.exe di folder itu. Jadi lokasi winutils.exe akan menjadi C: \ winutils \ bin \ winutils.exe
Sekarang, buka variabel lingkungan dan setel HADOOP_HOME = C: \ winutils [CATATAN: Harap jangan menambahkan \ bin di HADOOP_HOME dan tidak perlu menyetel HADOOP_HOME di Path]
Masalah Anda harus diselesaikan !!
sumber
Saya baru saja mengalami masalah ini saat bekerja dengan Eclipse. Dalam kasus saya, saya mengunduh versi Hadoop yang benar (hadoop-2.5.0-cdh5.3.0.tgz), saya mengekstrak konten dan meletakkannya langsung di drive C. Lalu saya pergi ke
Eclipse-> Debug / Run Configurations -> Environment (tab) -> dan ditambahkan
variabel: HADOOP_HOME
Nilai: C: \ hadoop-2.5.0-cdh5.3.0
sumber
Anda dapat mengunduh winutils.exe di sini: http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe
Kemudian salin ke
HADOOP_HOME/bin
direktori Anda .sumber
Di Pyspark, untuk menjalankan aplikasi percikan lokal menggunakan Pycharm gunakan baris di bawah ini
sumber
winutils.exe diperlukan untuk hadoop untuk melakukan perintah terkait hadoop. silakan unduh file zip hadoop-common-2.2.0. winutils.exe dapat ditemukan di folder bin. Ekstrak file zip dan salin di folder hadoop / bin lokal.
sumber
Saya menghadapi masalah yang sama. Menghapus
bin\
dari jalur HADOOP_HOME memecahkannya untuk saya. Path untuk variabel HADOOP_HOME akan terlihat seperti ini.Restart sistem mungkin diperlukan. Dalam kasus saya, memulai ulang IDE sudah cukup.
sumber
Siapkan variabel HADOOP_HOME di windows untuk menyelesaikan masalah.
Anda dapat menemukan jawabannya di
org/apache/hadoop/hadoop-common/2.2.0/hadoop-common-2.2.0-sources.jar!/org/apache/hadoop/util/Shell.java
:IOException dari
HADOOP_HOME_DIR dari
sumber
Dari URL:
https://github.com/steveloughran/winutils/hadoop-
version
/ binCatatan: Anda harus Menetapkan variabel lingkungan:
Variabel pengguna:
Variabel : HADOOP_HOME
Nilai : Hadoop atau spark dir
sumber
Saya mendapatkan masalah yang sama di windows. Saya memperbaikinya dengan
sumber
Unduh versi folder hadoop yang diinginkan (Katakanlah jika Anda menginstal spark pada Windows maka versi hadoop yang dibuat untuk spark Anda) dari tautan ini sebagai zip.
Ekstrak zip ke direktori yang diinginkan. Anda perlu memiliki direktori dalam bentuk
hadoop\bin
(secara eksplisit membuathadoop\bin
struktur direktori seperti itu jika Anda mau) denganbin
berisi semua file yang terdapat dalambin
folder hadoop yang diunduh. Ini akan berisi banyak file seperti hdfs.dll, hadoop.dll dll. Selain winutil.exe.Sekarang buat variabel lingkungan
HADOOP_HOME
dan setel ke<path-to-hadoop-folder>\hadoop
. Kemudian tambahkan;%HADOOP_HOME%\bin;
kePATH
variabel lingkungan.Buka "prompt perintah baru" dan coba jalankan kembali perintah Anda.
sumber
Saya menggunakan versi "hbase-1.3.0" dan "hadoop-2.7.3". Mengatur variabel lingkungan HADOOP_HOME dan menyalin file 'winutils.exe' di bawah folder HADOOP_HOME / bin memecahkan masalah pada os windows. Perhatian untuk mengatur lingkungan HADOOP_HOME ke folder instalasi hadoop (folder / bin tidak diperlukan untuk versi ini). Selain itu, saya lebih suka menggunakan alat lintas platform cygwin untuk menyelesaikan fungsionalitas os linux (sebisa mungkin) karena tim Hbase merekomendasikan linux / unix env.
sumber