Windows 7, Java 8, Maven 및 Eclipse가 있습니다. Maven 프로젝트를 만들고 here과 거의 동일한 코드를 사용했습니다.Cygwin없이 Windows의 로컬 모드에서 Hadoop 작업 (WordCount 샘플과 같은)을 실행할 수 있습니까?
단순한 "단어 수"샘플입니다. (WordCountDriverApp.java:29를)
Exception in thread "main" java.lang.NullPointerException at
java.lang.ProcessBuilder.start(ProcessBuilder.java:1012) at
org.apache.hadoop.util.Shell.runCommand(Shell.java:404) at
org.apache.hadoop.util.Shell.run(Shell.java:379) at
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589) at
org.apache.hadoop.util.Shell.execCommand(Shell.java:678) at
org.apache.hadoop.util.Shell.execCommand(Shell.java:661) at
org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:639) at
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:435) at
org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:277) at
org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125) at
org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:344) at
org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268) at
org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265) at
java.security.AccessController.doPrivileged(Native Method) at
javax.security.auth.Subject.doAs(Subject.java:422) at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at
org.apache.hadoop.mapreduce.Job.submit(Job.java:1265) at
org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286) at
misc.projects.hadoop.exercises.WordCountDriverApp.main(WordCountDriverApp.java:29)
실패한 라인 : 내가 명령 줄 인수 (입력 파일과 출력 디렉토리)를 제공, 이클립스에서 "드라이버"프로그램을 실행하려고 다음과 같은 오류가
job.waitForCompletion(true)
내가 그것을 작동하게하려는 때문에 내가 뭔가 이해하려면 : 작업 시작하는 명령을 포함
내가 어떤 HDFS-site.xml 파일을 제공해야 하는가를, 원사 - site.xml, ...이 모든 경우, (클러스터가없는) 로컬 모드 만 원한다면? 지금 XML 설정 파일이 없습니다. 내가 아는 한, 기본값은 로컬 모드에서 모두 정상입니다. 어쩌면 틀 렸습니다.
Windows에서 모든 Hadoop 작업을 실행할 수 있습니까? 아니면 전체 Hadoop이 Linux 전용입니까?
P.S : 하둡 의존성은 다음 하둡 윈도우에서 실행
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.2.0</version>
<scope>provided</scope>
</dependency>
그다지 좋지는 않습니다.'libwinutils.lib' /'winutils.exe'를'C : \ hadoop \ bin'에 넣는 것으로 충분합니다.Eclipse에서 lib 경로와 어울리지 않아도됩니다. 한 번만 바이너리를 컴파일하기가 어렵습니다 .-) –
'mvn clean install -DskipTests'는 VS2010 또는 VS2012 또는 Win SDK (그 중 하나)가 설치되어 있어야합니다. 물론 branch-2.2에서는 https://github.com/apache/hadoop의 git clone이 필요합니다. 너무 나쁜 그들은 mvn 배포판을 통해 얻을 수 없습니다 ... –
그건 그렇고, Win SDK가 설치되지 않을 때 가능한 많은 상황이 있습니다. – user3791111