У меня Windows 7, Java 8, Maven и Eclipse. Я создал проект Maven и использовал почти тот же код, что и here.Можно ли запускать задания Hadoop (например, образец WordCount) в локальном режиме на Windows без Cygwin?
Это просто простой образец слова. я пытаюсь запустить программу «драйвер» из Eclipse, я обеспечиваю аргументы командной строки (файл входного и выходного каталога) и получить следующее сообщение об ошибке:
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)
неисправной линии (WordCountDriverApp.java:29) содержит команду для запуска задания:
job.waitForCompletion(true)
Я хочу, чтобы заставить его работать, и поэтому я хочу, чтобы понять что-то:
должен ли я предоставить какие-либо HDFS-site.xml, yarn- site.xml, ... все это, если я хочу только локальный режим (без какого-либо кластера)? У меня нет этих файлов конфигурации XML. Насколько я помню, по умолчанию все нормально для локального режима, возможно, я ошибаюсь.
Возможно ли вообще под Windows (для запуска каких-либо заданий Hadoop), или целая вещь Hadoop - это только Linux?
P.S .: Hadoop зависимость является следующее:
<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'.Вам не нужно смешиваться с путями lib в Eclipse. Просто сложно скомпилировать двоичный файл один раз ;-) –
'mvn clean install -DskipTests' должен построить' em fine ... при условии, что установлены VS2010 или VS2012 или Win SDK (один из них). Но, конечно же, для ветки git требуется https://github.com/apache/hadoop в разделе 2.2. слишком плохие они не могут быть получены через распространение mvn ... –
Кстати, есть много ситуаций, когда Win SDK не будет установлен. – user3791111