Hadoop 报错集

作者: 机器不能学习 | 来源:发表于2018-05-10 10:37 被阅读0次

    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

    类型错误,期待的是Tex接受的是longWritable ,因为hadoop默认的是longWritable。所以错误应该是没有设置输出的类型,或者是输出类型输出错误。

    (1) 设置输出类型

    job.setOutputKeyClass(Text.class); 

    job.setOutputValueClass(Text.class); 

    (2)检查每个Map类,Reduce类的输出类型是否与相应的map,reduce方法的一样

    map(Object key,Text value,Context context)

    Mapper<Object key Text value ,Context context>

    2.new Path()

    该处应该用import org.apache.hadoop.fs.Path;

    3.setclass时报错

    注意关注的是类与类之间的位置,所有类都在一个大类里面

    4.FileInputFormat报错 没有(job,string) 方法

    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

    5.如果发现mapreduce没有工作也没报错

    原因:map中,context.write后的数据有误,或者根本没有context.write。还有可能是Reduce中方法名有错,该方法名必须为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说明Jar没有导入成功,一方面是eclipse的jar 一方面是Hadoop环境文件中,环境文件中可以直接到入export HADOOP_CLASSPATH=/opt/hbase-0.98.12/lib/*


    hbase一直闪退。可能是zook上的数据出现问题。

    可以格式化namenode和datanone,删除zook文件中version-2。重启即可

    如果在df中就没办法删除,此方法仅用于单机


    Failed to add storage directory [DISK]file:/home/hdfs/data/

    找不到文件。格式化过多,使namenode和datanode的id号不能匹配就不能访问登录类。

    所以删除data文件再重新格式化


    Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: java.lang.reflect.InvocationTargetException

    是换用户引起的权限问题,检查hots和配置文件的ip重启

    hadoop中core-site.xml中的fs.name要和hbase-site.xml中的ip一样。

    相关文章

      网友评论

        本文标题:Hadoop 报错集

        本文链接:https://www.haomeiwen.com/subject/xcczrftx.html