Hadoop на VMWare - пример программы Mapreduce не запускается

Я пытаюсь запустить hadoop 3.2.0 на Ubuntu 18.10, работающем в качестве виртуальной машины поверх Win10. Хотите запустить пример программы подсчета слов, чтобы убедиться, что установка прошла успешно и что hadoop был правильно настроен.

Когда я пытаюсь запустить включенный пример jar с помощью команды:

bharath @ ubuntu: / usr / share / hadoop $ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-3.2.0.jar grep ввод-вывод 'dfs [az.]+'

Я получаю это на терминале:

2019-05-05 11:51:55,667 INFO impl.MetricsConfig: Loaded properties from hadoop-metrics2.properties
2019-05-05 11:51:55,873 INFO impl.MetricsSystemImpl: Scheduled Metric snapshot period at 10 second(s).
2019-05-05 11:51:55,873 INFO impl.MetricsSystemImpl: JobTracker metrics system started
2019-05-05 11:51:56,020 INFO mapreduce.JobSubmitter: Cleaning up the staging area file:/tmp/hadoop/mapred/staging/bharath705403707/.staging/job_local705403707_0001
ENOENT: No such file or directory
    at org.apache.hadoop.io.nativeio.NativeIO$POSIX.chmodImpl(Native Method)
    at org.apache.hadoop.io.nativeio.NativeIO$POSIX.chmod(NativeIO.java:234)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:861)
    at org.apache.hadoop.fs.ChecksumFileSystem$1.apply(ChecksumFileSystem.java:508)
    at org.apache.hadoop.fs.ChecksumFileSystem$FsOperation.run(ChecksumFileSystem.java:489)
    at org.apache.hadoop.fs.ChecksumFileSystem.setPermission(ChecksumFileSystem.java:511)
    at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:676)
    at org.apache.hadoop.mapreduce.JobResourceUploader.mkdirs(JobResourceUploader.java:658)
    at org.apache.hadoop.mapreduce.JobResourceUploader.uploadResourcesInternal(JobResourceUploader.java:172)
    at org.apache.hadoop.mapreduce.JobResourceUploader.uploadResources(JobResourceUploader.java:133)
    at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:99)
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:194)
    at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1570)
    at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1567)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/javax.security.auth.Subject.doAs(Subject.java:423)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1567)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1588)
    at org.apache.hadoop.examples.Grep.run(Grep.java:78)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
    at org.apache.hadoop.examples.Grep.main(Grep.java:103)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:71)
    at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
    at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:236)

Я новичок в hadoop и даже в Java, поэтому не могу понять, что из этого означает, кроме того факта, что программа не работает и что некоторые файлы могут отсутствовать.

Кто-нибудь может указать, в чем здесь проблема, или сделать предложения, чтобы найти причину этой проблемы?

1 ответ

Кажется, есть ошибка с командой. Синтаксис: hadoop jar jar-файл class-with-Main input-file-hdfs output-dir-hdfs
Выходной каталог не может существовать предварительно

Пример:

jar hadoop /opt/mapr/hadoop/hadoop-0.20.2/hadoop-0.20.2-dev-examples.jar wordcount /myvolume/in /myvolume/out

Ключ в том, что расположение входного файла находится на hdfs, а не на вашем локальном жестком диске (на вашем компьютере). Таким образом, вы ввели неправильный адрес, и вам следует: Сначала поместить входной файл в hdfs с его командой. Затем запустите правильную команду, чтобы выполнить этот файл. BR, Неда

Другие вопросы по тегам