web-dev-qa-db-ja.com

Spark 1.6-hadoopバイナリパスでwinutilsバイナリを見つけられませんでした

私はこれに非常に似た投稿があることを知っています( hadoopバイナリパスでwinutilsバイナリを見つけられませんでした )、しかし、提案されたすべてのステップを試してみましたが、同じエラーがまだ表示されます。

このページでチュートリアルを実行するには、Windows 7でApache Sparkバージョン1.6.0を使用しようとしています http://spark.Apache.org/docs/latest/ streaming-programming-guide.html 、特にこのコードを使用して:

./bin/run-example streaming.JavaNetworkWordCount localhost 9999

ただし、このエラーは表示され続けます: enter image description here

この投稿を読んだ後 hadoopバイナリパスでwinutilsバイナリを見つけられなかった

Winutils.exeファイルが必要だとわかったので、Hadoop_HOMEという環境変数を定義したhadoopバイナリ2.6.0をダウンロードしました。

 with value C:\Users\GERAL\Desktop\hadoop-2.6.0\bin  

次のようにパスに配置します:%HADOOP_HOME%

それでも、コードを試しても同じエラーが表示されます。誰もこれを解決する方法を知っていますか?

12
manuel mourato

Hadoopを使用してWindowsでSparkを実行している場合、Windows hadoopインストールが適切にインストールされていることを確認する必要があります。 sparkを実行するには、hadoopホームディレクトリのbinフォルダーにwinutils.exeとwinutils.dllが必要です。

最初にこれを試してみてください:

1)以下のリンクのバンドルから.dllおよび.exeファイルをダウンロードできます。

https://codeload.github.com/sardetushar/hadooponwindows/Zip/master

2)winutils.exeとwinutils.dllをそのフォルダーから$ HADOOP_HOME/binにコピーします。

3)HADOOP_HOMEをspark-env.shまたはコマンドで設定し、HADOOP_HOME/binPATHに追加します。

その後、実行してみてください。

Hadoopのインストールに関するヘルプが必要な場合は、素敵なリンクがあります。試してみてください。

http://toodey.com/2015/08/10/hadoop-installation-on-windows-without-cygwin-in-10-mints/

しかし、それは待つことができます。最初の数ステップを試すことができます。

20
Srini

ここからbinファイルをダウンロードします Hadoop Bin then System.setProperty("hadoop.home.dir", "Desktop\bin");

3
MohamedAbbas

hADOOP_HOME環境変数を次のように設定してみてください。

C:\Users\GERAL\Desktop\hadoop-2.6.0

の代わりに

C:\Users\GERAL\Desktop\hadoop-2.6.0\bin  
1
teja

JDK 1.8のインストール、Spark ApacheからのバイナリSpark&GitリポジトリからのWinutils

JDKのユーザー変数パスを設定、Spark binary、Winutils

Java_HOME
C:\ Program Files\Java\jdk1.8.0_73

HADOOP_HOME
C:\ Hadoop

SPARK_HOME
C:\ spark-2.3.1-bin-hadoop2.7

PATH
C:\ Program Files\Java\jdk1.8.0_73\bin;%HADOOP_HOME%\ bin;%SPARK_HOME%\ bin;

コマンドプロンプトを開き、spark-Shellを実行します

スパークシェル

0
satish hiremath

Windowsラップトップからspark-Shellを起動しようとしたときにも、この問題に直面しました。私はこれを解決し、それは私のために働いた、それが役立つことを願っています。これは私が犯した非常に小さな間違いです。winutils実行可能ファイルをwinutilsではなく「winutils.exe」として保存しました。

そのため、変数が解決されると、Hadoopバイナリのどこにもないwinutils.exe.exeに解決されます。その「.exe」を削除し、シェルをトリガーしました。保存されている名前を確認することをお勧めします。

0
Mohasin

次のエラーは、Spark application。WinutilsはHadoopエコシステムの一部であり、Sparkには含まれていません。アプリケーションの実際の機能は正しく実行される可能性があります。エラーを回避するには、winutils.exeバイナリをダウンロードして、クラスパスに同じものを追加します。

import org.Apache.spark.SparkConf;
import org.Apache.spark.api.Java.JavaRDD;
import org.Apache.spark.api.Java.JavaSparkContext;
import org.Apache.spark.api.Java.function.Function;

public class SparkTestApp{

    public static void main(String[] args) {

            System.setProperty("hadoop.home.dir", "ANY_DIRECTORY");

    // Example
    // winutils.exe is copied to C:\winutil\bin\
    // System.setProperty("hadoop.home.dir", "C:\\winutil\\");
            String logFile = "C:\\sample_log.log";
            SparkConf conf = new SparkConf().setAppName("Simple Application").setMaster("local");
            JavaSparkContext sc = new JavaSparkContext(conf);
            JavaRDD logData = sc.textFile(logFile).cache();

            long numAs = logData.filter(new Function<String, Boolean>() {
                public Boolean call(String s) {
                        return s.contains("a");
                }
            }).count();

            System.out.println("Lines with a: " + numAs);

    }

}

winutils.exeC:\winutil\bin\にコピーされる場合

次に、以下のようにsetProperty

System.setProperty("hadoop.home.dir", "C:\\winutil\\");
0
Akhil Jain