eclipse 运行MapReduce程序错误异常汇总(解决Map not fount)
錯(cuò)誤一:
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class wordCount.wordCount$Map not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2074)
at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:742)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.lang.ClassNotFoundException: Class wordCount.wordCount$Map not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1980)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2072)
... 8 more
問題分析:很煩人的一個(gè)問題,很久之前就碰見過,后來電腦linux換了一個(gè)版本,解決了
解決辦法:eclipse添加hadoop配置文件問題,記住只需要在程序目錄下新建一個(gè)conf的文件夾,把log4j.properties拷貝到該目錄下,重啟eclipse即可
錯(cuò)誤二:
eclipse 運(yùn)行MR提示無法訪問的情況
問題分析:權(quán)限不足
解決辦法:重新給hdfs文件系統(tǒng)賦予權(quán)限(可能會(huì)經(jīng)常遇到這種問題,可執(zhí)行同一種操作即可)bin/hdfs dfs -chmod -R 777 /
錯(cuò)誤三:
HMaster啟動(dòng)之后立即又關(guān)閉
問題分析:可能是zookeeper不穩(wěn)定造成的,
解決辦法:停止zookeeper服務(wù)(bin/zkServer.sh stop zoo1.cfg ? ? bin/zkServer.sh stop zoo2.cfg? ? bin/zkServer.sh stop zoo3.cfg?),再重新啟動(dòng)
錯(cuò)誤四:
15/08/23 11:10:07 INFO mapreduce.JobSubmitter: Cleaning up the staging area file:/usr/local/hadoop/tmp/mapred/staging/thinkgamer1735608800/.staging/job_local1735608800_0001
Exception in thread "main" ExitCodeException exitCode=1:?chmod: 無法訪問"/usr/local/hadoop/tmp/mapred/staging/thinkgamer1735608800/.staging/job_local1735608800_0001": 沒有那個(gè)文件或目錄
問題分析:eclipse的配置文件缺少
解決辦法:把配置hadoop時(shí)所修改的配置文件全部復(fù)制到src文件夾下
錯(cuò)誤五:
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/thinkgamer/output already exists
問題分析:hdfs文件系統(tǒng)中的output文件夾已經(jīng)存在
解決辦法:刪除即可(同時(shí)還可能出現(xiàn)找不到input目錄的問題,此時(shí)注意檢查input路徑)
總結(jié)
以上是生活随笔為你收集整理的eclipse 运行MapReduce程序错误异常汇总(解决Map not fount)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SIP for android
- 下一篇: java内存:堆、栈、常量池、方法区