java.io .IO 예외:실행 파일 null\bin\winutils를 찾을 수 없습니다.하둡 이진 파일에서 exe. 윈도우 7에서 이클립스를 스파크합니다.
간한작수수없다습니행할을업단▁a▁simple다를 실행할 수 없습니다.spark
에 종사하는.Scala IDE
project) 에 된 (Maven project)Windows 7
스파크 코어 종속성이 추가되었습니다.
val conf = new SparkConf().setAppName("DemoDF").setMaster("local")
val sc = new SparkContext(conf)
val logData = sc.textFile("File.txt")
logData.count()
오류:
16/02/26 18:29:33 INFO SparkContext: Created broadcast 0 from textFile at FrameDemo.scala:13
16/02/26 18:29:34 ERROR Shell: 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.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:362)
at <br>org.apache.spark.SparkContext$$anonfun$hadoopFile$1$$anonfun$33.apply(SparkContext.scala:1015)
at org.apache.spark.SparkContext$$anonfun$hadoopFile$1$$anonfun$33.apply(SparkContext.scala:1015)
at <br>org.apache.spark.rdd.HadoopRDD$$anonfun$getJobConf$6.apply(HadoopRDD.scala:176)
at <br>org.apache.spark.rdd.HadoopRDD$$anonfun$getJobConf$6.apply(HadoopRDD.scala:176)<br>
at scala.Option.map(Option.scala:145)<br>
at org.apache.spark.rdd.HadoopRDD.getJobConf(HadoopRDD.scala:176)<br>
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:195)<br>
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)<br>
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)<br>
at scala.Option.getOrElse(Option.scala:120)<br>
at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)<br>
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)<br>
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)<br>
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)<br>
at scala.Option.getOrElse(Option.scala:120)<br>
at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)<br>
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1929)<br>
at org.apache.spark.rdd.RDD.count(RDD.scala:1143)<br>
at com.org.SparkDF.FrameDemo$.main(FrameDemo.scala:14)<br>
at com.org.SparkDF.FrameDemo.main(FrameDemo.scala)<br>
여기 솔루션에 대한 당신의 문제에 대한 좋은 설명이 있습니다.
https://github.com/steveloughran/winutils 에서 winutils.exe 버전을 다운로드합니다.
을 합니다.
HADOOP_HOME
OS 수준 또는 프로그래밍 방식으로 환경 변수:System.setProperty("hadoop.home.dir", "full path to the folder with winutils");
즐거운 시간 되세요.
- winutils를 다운로드합니다.exe
- 를 만듭니다.
C:\winutils\bin
- 알았다.
winutils.exe
東京의C:\winutils\bin
- 설정하기
HADOOP_HOME
C:\winutils
다음을 수행합니다.
성을 합니다.
bin
폴더를 선택합니다(3단계에서 사용).이제추를 추가합니다.
System.setProperty("hadoop.home.dir", "PATH/TO/THE/DIR");
당신의 코드로.
1) Download winutils.exe from https://github.com/steveloughran/winutils
2) Create a directory In windows "C:\winutils\bin
3) Copy the winutils.exe inside the above bib folder .
4) Set the environmental property in the code
System.setProperty("hadoop.home.dir", "file:///C:/winutils/");
5) Create a folder "file:///C:/temp" and give 777 permissions.
6) Add config property in spark Session ".config("spark.sql.warehouse.dir", "file:///C:/temp")"
또다운할수있다니습드는을 다운로드할 수 .winutils.exe
GIT 허브에서:
https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin
체교다를 hadoop-2.7.1
을 원는버전로파저일장다니합을으하다▁the▁with▁in니▁file에 배치합니다.D:\hadoop\bin
컴퓨터의 환경 변수 설정에 대한 액세스 권한이 없는 경우 아래 행을 코드에 추가하기만 하면 됩니다.
System.setProperty("hadoop.home.dir", "D:\\hadoop");
Windows 10에서는 두 개의 다른 인수를 추가해야 합니다.
시스템 변수 아래에 새 변수와 값을 - HADOOP_HOME 및 경로(예: c:\Hadoop)로 추가합니다.
새 항목을 "Path" 변수에 "C:"로 추가/추가합니다.\Hadoop\bin".
위의 것들이 저에게 효과가 있었습니다.
아래 호를 보면.
오류 셸: 하둡 이진 경로에서 winutils 이진을 찾지 못했습니다.
java.io .IO 예외:실행 파일 null\bin\winutils를 찾을 수 없습니다.실행할 수 있습니다.
그런 다음 다음 단계를 수행합니다.
- http://public-repo-1.hortonworks.com/hdp- win-alpha/winutils.exe에서 winutils.exe를 다운로드합니다.
- 이 폴더를 bin 폴더 아래에 보관합니다. 예를 들어, 사용자가 만든 폴더입니다.C:\하둡\bin
- 프로그램에서 SparkContext 또는 SparkConf System을 만들기 전에 다음 줄을 추가합니다.setProperty("hadoop.home.dir", "C:\Hadoop");
유닛 테스트를 진행하는 동안 같은 문제가 발생했습니다.다음과 같은 해결 방법을 찾았습니다.
다음 해결 방법을 사용하여 이 메시지를 삭제할 수 있습니다.
File workaround = new File(".");
System.getProperties().put("hadoop.home.dir", workaround.getAbsolutePath());
new File("./bin").mkdirs();
new File("./bin/winutils.exe").createNewFile();
출처: https://issues.cloudera.org/browse/DISTRO-544
Hadoop 설정_시스템 속성의 홈 환경 변수가 작동하지 않았습니다.하지만 이는 다음과 같습니다.
- Hadoop 설정_Eclipse Run Configurations(이클립스 실행 구성) 환경 탭의 홈입니다.
- 여기에서 'Windows 환경 설정'을 따릅니다.
- winutils를 다운로드합니다.exe 및 hadoop.dll을 Windows 컴퓨터에 저장합니다.
- C 폴더 만들기:\hadoop\bin
- 와이너틸 복사.새로 생성된 하둡 폴더의 exe 및 hadoop.dll
- 설정 환경 변수 HADOOP_HOME=C:\hadoop
환경 변수를 언급하는 것 외에도HADOOP_HOME
로서 창밖에.C:\winutils
또한 사용자가 시스템의 관리자인지 확인해야 합니다.그렇지 않은 경우 환경 변수를 추가하면 관리 자격 증명을 입력하라는 메시지가 표시됩니다.USER
variables)를 선택하면 관리자가 명령 프롬프트를 시작하면 이러한 변수를 적용할 수 있습니다.
또한 Java 1.8.0_121, Spark spark-1.6.1-bin-hadoop 2.6, Windows 10 및 Eclipse Oxy에 대해서도 비슷한 문제에 직면했습니다.이전 게시물에서 언급한 것처럼 HADO_HOME을 시스템 변수로 사용하여 이클립스에서 WordCount.java를 실행했을 때 작동하지 않았습니다. 저에게 효과가 있었던 것은 -입니다.
System.setProperty("hadoop.home.dir", "PATH/TO/THE/DIR");
PATH/TO/THE/DIR/bin=winutils.이클립스 내에서 Java 애플리케이션으로 실행할 것인지 아니면 cmd에서 스파크-submit을 사용하여 실행할 것인지를 exe
spark-flash --class groupid.artificitid.classname --master local[2] /maven을 사용하여 만든 jar 파일의 /path 데모 파일의 /path to output directory 명령
예: Spark/home/location/bin의 bin 위치로 이동하여 언급한 대로 spark-submit을 실행합니다.
D:\BigData\spark-2.3.0-bin-hadoop2.7\bin>spark-submit --class com.bigdata.abdus.sparkdemo.WordCount --master local[1] D:\BigData\spark-quickstart\target\spark-quickstart-0.0.1-SNAPshot.jar D:\BigData\spark-quickstart\words 개수입니다.txt
그건 까다롭군요...저장 편지는 대문자여야 합니다.예를 들어 "C:\..."
언급URL : https://stackoverflow.com/questions/35652665/java-io-ioexception-could-not-locate-executable-null-bin-winutils-exe-in-the-ha
'programing' 카테고리의 다른 글
올바른 Bash 및 셸 스크립트 변수 대문자화 (0) | 2023.05.01 |
---|---|
macOS Xcode Core Simulator 장치 폴더를 삭제해도 괜찮습니까? (0) | 2023.05.01 |
Azure DevOps의 다중 YAML 빌드 파이프라인 (0) | 2023.04.26 |
asp.net :차트 핸들러 구성 [c:\TempImageFiles\] (0) | 2023.04.26 |
Swift에서 객체의 유형을 어떻게 알 수 있습니까? (0) | 2023.04.26 |