Я установил hadoop-1.0.3 в свою систему (14.04), а затем это руководство .
И я успешно запустил пример программы mapreduce для wordcount следующим образом:
hadoopuser@arul-PC:/usr/local/hadoop$ bin/hadoop jar hadoop*examples*.jar wordcount /user/hadoopuser/SampleData /user/hadoopuser/SampleOutput
14/06/17 15:25:45 INFO input.FileInputFormat: Total input paths to process : 3
14/06/17 15:25:45 INFO util.NativeCodeLoader: Loaded the native-hadoop library
14/06/17 15:25:45 WARN snappy.LoadSnappy: Snappy native library not loaded
14/06/17 15:25:45 INFO mapred.JobClient: Running job: job_201406171444_0002
14/06/17 15:25:46 INFO mapred.JobClient: map 0% reduce 0%
14/06/17 15:26:04 INFO mapred.JobClient: map 66% reduce 0%
14/06/17 15:26:13 INFO mapred.JobClient: map 100% reduce 0%
14/06/17 15:26:16 INFO mapred.JobClient: map 100% reduce 22%
14/06/17 15:26:28 INFO mapred.JobClient: map 100% reduce 100%
14/06/17 15:26:33 INFO mapred.JobClient: Job complete: job_201406171444_0002
14/06/17 15:26:33 INFO mapred.JobClient: Counters: 29
14/06/17 15:26:33 INFO mapred.JobClient: Job Counters
14/06/17 15:26:33 INFO mapred.JobClient: Launched reduce tasks=1
14/06/17 15:26:33 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=33037
14/06/17 15:26:33 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0
14/06/17 15:26:33 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0
14/06/17 15:26:33 INFO mapred.JobClient: Launched map tasks=3
14/06/17 15:26:33 INFO mapred.JobClient: Data-local map tasks=3
14/06/17 15:26:33 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=21208
14/06/17 15:26:33 INFO mapred.JobClient: File Output Format Counters
14/06/17 15:26:33 INFO mapred.JobClient: Bytes Written=880838
14/06/17 15:26:33 INFO mapred.JobClient: FileSystemCounters
14/06/17 15:26:33 INFO mapred.JobClient: FILE_BYTES_READ=2214875
14/06/17 15:26:33 INFO mapred.JobClient: HDFS_BYTES_READ=3671899
14/06/17 15:26:33 INFO mapred.JobClient: FILE_BYTES_WRITTEN=3775759
14/06/17 15:26:33 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=880838
14/06/17 15:26:33 INFO mapred.JobClient: File Input Format Counters
14/06/17 15:26:33 INFO mapred.JobClient: Bytes Read=3671523
14/06/17 15:26:33 INFO mapred.JobClient: Map-Reduce Framework
14/06/17 15:26:33 INFO mapred.JobClient: Map output materialized bytes=1474367
14/06/17 15:26:33 INFO mapred.JobClient: Map input records=77931
14/06/17 15:26:33 INFO mapred.JobClient: Reduce shuffle bytes=1207341
14/06/17 15:26:33 INFO mapred.JobClient: Spilled Records=255966
14/06/17 15:26:33 INFO mapred.JobClient: Map output bytes=6076101
14/06/17 15:26:33 INFO mapred.JobClient: Total committed heap usage (bytes)=517210112
14/06/17 15:26:33 INFO mapred.JobClient: CPU time spent (ms)=11530
14/06/17 15:26:33 INFO mapred.JobClient: Combine input records=629172
14/06/17 15:26:33 INFO mapred.JobClient: SPLIT_RAW_BYTES=376
14/06/17 15:26:33 INFO mapred.JobClient: Reduce input records=102324
14/06/17 15:26:33 INFO mapred.JobClient: Reduce input groups=82335
14/06/17 15:26:33 INFO mapred.JobClient: Combine output records=102324
14/06/17 15:26:33 INFO mapred.JobClient: Physical memory (bytes) snapshot=589725696
14/06/17 15:26:33 INFO mapred.JobClient: Reduce output records=82335
14/06/17 15:26:33 INFO mapred.JobClient: Virtual memory (bytes) snapshot=1862012928
14/06/17 15:26:33 INFO mapred.JobClient: Map output records=629172
Когда я проверяю выходной файл, он присутствует в выходной папке,
hadoopuser@arul-PC:/usr/local/hadoop$ bin/hadoop dfs -ls /user/hadoopuser/SampleOutput
Found 3 items
-rw-r--r-- 1 hadoopuser supergroup 0 2014-06-17 15:26 /user/hadoopuser/SampleOutput/_SUCCESS
drwxr-xr-x - hadoopuser supergroup 0 2014-06-17 15:25 /user/hadoopuser/SampleOutput/_logs
-rw-r - r-- 1 супергруппа hadoopuser 880838 2014- 06-17 15:26 / user / hadoopuser / SampleOutput / part-r-00000
Я попытался открыть его, используя следующую команду,
hadoopuser@avvenire-PC:/usr/local/hadoop$ bin/hadoop dfs -cat /user/hadoopuser/SampleOutput/part-r-0000
Но я получаю следующий результат:
cat: File does not exist: /user/hadoopuser/SampleOutput/part-r-0000
Пожалуйста, предоставьте мне решение. Заранее спасибо.
Проверьте имя файла. Его пять 0 не четыре.
bin/hadoop DFS - кошка/user/hadoopuser/SampleOutput/part-r-00000
Таким образом, я понимаю, что ответ был уже принят, но здесь является решением, когда это произошло со мной (просто упаковывают кого-либо еще, видит этот поток).
<час>TLDR; удостоверьтесь, что нет никаких конфликтующих имен папок в Вашем hadoop каталоге (для меня, это был/usr/local/hadoop).
, Когда я генерировал вывод, я помещал его в папку, названную выводом/, однако до этой программы, у меня был другой, который также писал для вывода, и я сохранил выходные данные в папке конкретно названный вывод в моем hadoop каталоге. Это вызывало проблемы для меня, с тех пор даже при том, что та папка не обнаружилась, когда я работал bin/hadoop fs -ls
, команда bin/hadoop fs -cat output/*
на самом деле искала в папке, которую я генерировал прежде вместо вывода программы, которую я только что запустил. После удаления, которые производят каталог с rm -rf output/
, ушла проблема.