복붙노트

[HADOOP] 스파크 1.6 - hadoop 바이너리 경로에서 winutils 바이너리를 찾지 못했습니다.

HADOOP

스파크 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

그러나이 오류는 계속 나타납니다.

이 게시물을 읽은 후 hadoop 바이너리 경로에서 winutils 바이너리를 찾지 못했습니다.

winutils.exe 파일이 필요하다는 것을 깨달았으므로 HADOOP 바이너리 2.6.0을 다운로드하고 HADOOP_HOME이라는 환경 변수를 정의했습니다.

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

다음과 같이 경로에 배치했습니다. % HADOOP_HOME %

그러나 코드를 사용해도 같은 오류가 계속 발생합니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?

해결법

  1. ==============================

    1.Hadoop을 사용하여 Windows에서 Spark을 실행하는 경우 Windows가 제대로 설치되었는지 확인해야합니다. spark를 실행하려면 hadoop 홈 디렉토리의 bin 폴더에 winutils.exe와 winutils.dll이 있어야합니다.

    Hadoop을 사용하여 Windows에서 Spark을 실행하는 경우 Windows가 제대로 설치되었는지 확인해야합니다. 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) spark-env.sh 또는 명령에서 HADOOP_HOME을 설정하고 HADOOP_HOME / bin을 PATH에 추가하십시오.

    그런 다음 실행 해보십시오.

    hadoop 설치 도움말에 대한 도움이 필요하면 좋은 링크가 있습니다. 시도해 볼 수 있습니다.

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

    그러나 그것은 기다릴 수 있습니다. 처음 몇 단계를 시도해 볼 수 있습니다.

  2. ==============================

    2.여기에서 빈 파일을 다운로드하십시오. Hadoop Bin, System.setProperty ( "hadoop.home.dir", "Desktop \ bin");

    여기에서 빈 파일을 다운로드하십시오. Hadoop Bin, System.setProperty ( "hadoop.home.dir", "Desktop \ bin");

  3. ==============================

    3.HADOOP_HOME 환경 변수를 다음과 같이 설정해보십시오.

    HADOOP_HOME 환경 변수를 다음과 같이 설정해보십시오.

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

    대신에

    C:\Users\GERAL\Desktop\hadoop-2.6.0\bin  
    
  4. ==============================

    4.내 Windows 랩톱에서 스파크 셸을 시작하려고 할 때도이 문제에 직면했습니다. 나는 이것을 해결했고 그것은 나를 위해 일했다. 도움이되기를 바란다. 그것은 내가 만든 아주 작은 실수입니다. winutils 대신에 winutils 실행 파일을 "winutils.exe"로 저장했습니다.

    내 Windows 랩톱에서 스파크 셸을 시작하려고 할 때도이 문제에 직면했습니다. 나는 이것을 해결했고 그것은 나를 위해 일했다. 도움이되기를 바란다. 그것은 내가 만든 아주 작은 실수입니다. winutils 대신에 winutils 실행 파일을 "winutils.exe"로 저장했습니다.

    따라서 변수가 해결되면 Hadoop 바이너리에없는 winutils.exe.exe로 해결되고 있습니다. 나는 그 ".exe"를 제거하고 껍질을 방아쇠를 당겼다. 나는 그것이 구원받은 이름을 보길 권한다.

  5. ==============================

    5.다음 오류는 Spark 응용 프로그램을 실행하는 동안 classpath에 winutils 바이너리가 누락되어 발생합니다. Winutils는 Hadoop 생태계의 일부이며 Spark에는 포함되지 않습니다. 응용 프로그램의 실제 기능은 예외가 throw 된 후에도 올바르게 실행될 수 있습니다. 그러나 불필요한 문제를 피하기 위해 제자리에 두는 것이 좋습니다. 오류를 방지하려면 winutils.exe 바이너리를 다운로드하여 클래스 경로에 추가하십시오.

    다음 오류는 Spark 응용 프로그램을 실행하는 동안 classpath에 winutils 바이너리가 누락되어 발생합니다. Winutils는 Hadoop 생태계의 일부이며 Spark에는 포함되지 않습니다. 응용 프로그램의 실제 기능은 예외가 throw 된 후에도 올바르게 실행될 수 있습니다. 그러나 불필요한 문제를 피하기 위해 제자리에 두는 것이 좋습니다. 오류를 방지하려면 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.exe가 C : \ winutil \ bin \

    다음과 같이 setProperty

    System.setProperty("hadoop.home.dir", "C:\\winutil\\");
    
  6. ==============================

    6.JDK 1.8을 설치하고, Apache Spark 및 Winutils에서 Git repo의 Spark Binary를 다운로드하십시오.

    JDK 1.8을 설치하고, Apache Spark 및 Winutils에서 Git repo의 Spark Binary를 다운로드하십시오.

    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 통로 C : \ Program Files \ Java \ jdk1.8.0_73 \ bin; % HADOOP_HOME % \ bin; % SPARK_HOME % \ bin;

    명령 프롬프트를 열고 spark-shell을 실행하십시오.

    불꽃 껍질

  7. from https://stackoverflow.com/questions/34697744/spark-1-6-failed-to-locate-the-winutils-binary-in-the-hadoop-binary-path by cc-by-sa and MIT license