hadoop部分错误记录

1.注意每一个hadoop项目都应该有这个log4j配置文件,否则将无法调试

 

log4j:WARN no appenders could be found for logger

原地址:http://blog.csdn.net/shennongzhaizhu/article/details/50493338

初次使用ubuntu14.04+eclipse(mars)+Hadoop-2.7.1开发环境调试程序时,选中main-》run as hadoop 提示如下警告:

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

论坛有解决办法经测试成功解决我的问题,以此记录。

这种情况一般是由于log4j这个日志信息打印模块的配置信息没有给出造成的,可以在项目的《src目录》下,新建一个文件new->other->general->file,命名为“log4j.properties”,填入以下信息:

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

保存后重新运行即可成功。

2.hadoop执行作业时报Not a valid JAR错误:运行作业应使用本地jar包而不是hdfs上的。

3、使用bin/hdfs namenode -format初始化时,报不能创建文件夹错误,应在各节点上使用 sudo chmod -R a+w /usr/hadoop授予权限

4、初始化成功,可以启动namenode,不能启动datanode,子节点中无/usr/hadoop/data文件夹和temp文件夹,检查子节点中/etc/profile中的hadoop home 是否未修改或未source应用,改正后删除version文件重新format

5、初始化失败,nosuchmethod:***.<init>()

自定义类中必须有无参数的构造方法,且自定义类、maper、reducer都必须为static类

6、二次排序时实现了setGroupingComparatorClass中的compare函数仍然报nullpoint错误,需要检查构造函数是否正确,super(***.class,true);true不可缺少

7,二次排序使用自定义pair类报错 java.lang.NoSuchMethodException: hadoop_groupby.udf_Pair.<init>(),是因为udf_pair类中缺少空构造方法,应为

Text p1,p2;
public udf_Pair(){//此段不可缺少,否则回报
   p1=new Text();
   p2=new Text();
}
public udf_Pair(Text s1,Text s2){
   p1=s1;
   p2=s2;
}

8、运行结果正确,但运行过程中报错

Container launch failed for container_1530681801626_0001_01_000004 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.
This token is expired. current time is 1530754553380 found 1530683157141
Note: System times on machines may be out of sync. Check system time and time zones.

原因是datanode与namenode之间未设置时间同步,所以引起该异常。

原链接见:https://blog.csdn.net/yaoxiaochuang/article/details/53168602

设法同步时间即可

9、在yarn中显示running,但一直卡在waiting for AM container to be allocated状态

需要在程序中设置以下参数

conf.set("yarn.resourcemanager.scheduler.address", "1**.***.***.99:8030"); 

10、java.io.FileNotFoundException: Path is not a file

输入文件夹下不可包含子文件夹,必须全部为输入文件

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值