Vraag FOUT: [cat: Bestand bestaat niet] Ik kan het hasoop-uitvoerbestand niet openen in 14.04


Ik heb hadoop-1.0.3 in mijn systeem (14.04) geïnstalleerd, gevolgd deze tutorial.

En met succes voer ik een voorbeeld mapreduce-programma uit voor Wordcount als volgt,

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

Wanneer ik het uitvoerbestand controleer, is het aanwezig in de uitvoermap,

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 supergroup 880838 2014-06-17 15:26 / user / hadoopuser / SampleOutput / part-r-00000

Ik heb geprobeerd het te openen met behulp van het volgende commando,

hadoopuser@avvenire-PC:/usr/local/hadoop$ bin/hadoop dfs -cat /user/hadoopuser/SampleOutput/part-r-0000

Maar ik krijg resultaat als volgt,

cat: File does not exist: /user/hadoopuser/SampleOutput/part-r-0000

Geef me alstublieft een oplossing. Dank bij voorbaat.


0
2018-06-17 10:56


oorsprong




antwoorden:


Controleer de bestandsnaam. De vijf 0's zijn geen vier.

bin / hadoop dfs -cat / user / hadoopuser / SampleOutput / part-r-00000


1
2018-06-17 11:19





Dus ik realiseer me dat een antwoord al is geaccepteerd, maar hier is de oplossing toen het mij overkwam (alleen als iemand anders deze draad ziet).


TLDR; zorg ervoor dat er geen conflicterende mapnamen in je hadoop-map staan ​​(voor mij was dit / usr / local / hadoop).

Toen ik output aan het genereren was, plaatste ik het in een map met de naam output /, maar voorafgaand aan dit programma had ik er nog een die ook naar output schreef, en ik had de outputdata opgeslagen in een map die specifiek de output in mijn hadoop-directory heette. Dit veroorzaakte problemen voor mij, ook al kwam die map niet tevoorschijn toen ik rende bin/hadoop fs -ls, het bevel bin/hadoop fs -cat output/* was eigenlijk aan het zoeken in de map die ik eerder had gegenereerd, in plaats van de uitvoer van het programma dat ik net had uitgevoerd. Na het verwijderen van die uitvoerdirectory met rm -rf output/, het probleem ging weg.


0
2018-04-26 21:40