1.
java.lang.Exception: java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:489) at org.apache.hadoop
類型錯(cuò)誤,期待的是Tex接受的是longWritable ,因?yàn)閔adoop默認(rèn)的是longWritable。所以錯(cuò)誤應(yīng)該是沒(méi)有設(shè)置輸出的類型,或者是輸出類型輸出錯(cuò)誤。
(1) 設(shè)置輸出類型
job.setOutputKeyClass(Text.class);?
job.setOutputValueClass(Text.class);?
(2)檢查每個(gè)Map類,Reduce類的輸出類型是否與相應(yīng)的map,reduce方法的一樣
map(Object key,Text value,Context context)
Mapper<Object key Text value ,Context context>
2.new Path()
該處應(yīng)該用import org.apache.hadoop.fs.Path;
3.setclass時(shí)報(bào)錯(cuò)
注意關(guān)注的是類與類之間的位置,所有類都在一個(gè)大類里面
4.FileInputFormat報(bào)錯(cuò) 沒(méi)有(job,string) 方法
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
5.如果發(fā)現(xiàn)mapreduce沒(méi)有工作也沒(méi)報(bào)錯(cuò)
原因:map中,context.write后的數(shù)據(jù)有誤,或者根本沒(méi)有context.write。還有可能是Reduce中方法名有錯(cuò),該方法名必須為reduce
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/MasterNotRunningException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateG
noclass說(shuō)明Jar沒(méi)有導(dǎo)入成功,一方面是eclipse的jar 一方面是Hadoop環(huán)境文件中,環(huán)境文件中可以直接到入export HADOOP_CLASSPATH=/opt/hbase-0.98.12/lib/*
hbase一直閃退??赡苁莦ook上的數(shù)據(jù)出現(xiàn)問(wèn)題。
可以格式化namenode和datanone,刪除zook文件中version-2。重啟即可
如果在df中就沒(méi)辦法刪除,此方法僅用于單機(jī)
Failed to add storage directory [DISK]file:/home/hdfs/data/
找不到文件。格式化過(guò)多,使namenode和datanode的id號(hào)不能匹配就不能訪問(wèn)登錄類。
所以刪除data文件再重新格式化
Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: java.lang.reflect.InvocationTargetException
是換用戶引起的權(quán)限問(wèn)題,檢查hots和配置文件的ip重啟
hadoop中core-site.xml中的fs.name要和hbase-site.xml中的ip一樣。