hadoop 遇到的问题记录
来源:互联网 发布:淘宝小卖家月收入统计 编辑:程序博客网 时间:2023/12/03 09:50
1、jobtracker启动不正常报错、hdfs无法使用(比如执行一个操作文件命令就报错:only be replicated to 0 nodes, instead of 1)
2012-07-23 00:00:05,244 WARN org.apache.hadoop.mapred.JobTracker: Retrying...2 2012-07-23 00:00:05,266 WARN org.apache.hadoop.hdfs.DFSClient: DataStreamer Exception: java.io.IOException: File /tmp/hadoop-root/mapred/system/jobtracker.info cou ld only be replicated to 0 nodes, instead of 1
2012-07-23 00:00:05,267 WARN org.apache.hadoop.mapred.JobTracker: Writing to file hdfs://127.0.0.1:9000/tmp/hadoop-root/mapred/system/jobtracker.info failed!
30 2012-07-23 00:00:05,268 WARN org.apache.hadoop.mapred.JobTracker: FileSystem is not ready yet!
31 2012-07-23 00:00:05,271 WARN org.apache.hadoop.mapred.JobTracker: Failed to initialize recovery manager.
我的问题分析:当时也在网上找解决办法,有人就这个报错日志:only be replicated to 0 nodes, instead of 1给出了几个可能的原因,1、由于多次格式化,重启导致namenode和datanode的信息不一致;2、namenode和datdanode建立连接需要等一段时间,说白了就是等一会儿 ;3、没有写文件权限(但是我查看日志都是root最高权限)4、磁盘空间不足
后来我试了多种办法(格式化重启、离开safemode、等一段时间)但是都没法解决,后来自己耐下心来看系统日志,发现datanode与namenode正常建立连接,所以基本排除原因2,至于原因1也可以简单排除因为datanode日志没有报ID冲突的错误信息。
仔细分析jobtracker的日志不难发现是没法写文件 Writing to file hdfs://127.0.0.1:9000/tmp/hadoop-root/mapred/system/jobtracker.info failed!,此时我严重怀疑是由于权限问题,但是看日志发现是root用户的权限,终于我看了下磁盘分区,发现hadoop默认的目录/tmp 分区内存只154M,此时我怀疑是由于内存空间不足造成的,因为hdfs文件都会分配的很大(64M倍数),所以我修改了dfs目录配置,格式化、重启,终于正常了,配置如下,在hdfs-site.xml加入如下配置:
<property>
<name>dfs.data.dir</name>
<value>/home/alex/hadoop/dfs</value>
</property>
2、hadoop能map不能reduce(shuffle阶段报错,fetch#1错误)
日志报错:attempt_201207232344_0002_r_000000_0, Status : FAILED
org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#1
Error reading task outputConnection refused
No job jar file set. User classes may not be found. See Job or Job#setJar(String).
12/07/23 23:51:42 INFO mapreduce.JobSubmitter: Cleaning up the staging area hdfs://127.0.0.1:9000/tmp/hadoop-root/mapred/staging/root/.staging/job_201207232344_0003
org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#1
Error reading task outputConnection refused
No job jar file set. User classes may not be found. See Job or Job#setJar(String).
12/07/23 23:51:42 INFO mapreduce.JobSubmitter: Cleaning up the staging area hdfs://127.0.0.1:9000/tmp/hadoop-root/mapred/staging/root/.staging/job_201207232344_0003
在网上找了下解决办法,大致有几种可能的原因:
1、 Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out. 系统设置有关,文件较大,无法分配大内存
2、机器位数是64位导致这个问题
3、/etc/hosts 里面没有配master的hostname
2、机器位数是64位导致这个问题
3、/etc/hosts 里面没有配master的hostname
4、防火墙没关
问题1我安装网上方法,对配置文件做了修改: vim /etc/security/limits.conf 加入 * soft nofile 102400 * hard nofile 409600
vim /etc/pam.d/login 加入:session required /lib/security/pam_limits.so但是还是没有办法解决
问题三:由于我是伪分布式,所以只要配本机就行,看了下配置了hostname
问题四:setup下看了我的防火墙,发现防火墙有两个,一个是firework一个是selinux,第一个关了,第二个没关
最后在我重启虚拟机后,终于可以正常运行,但是是不是就是第四步弄好的呢,在我重新打开selinux后,再次运行,依然正常,我想应该不是selinux没关的可能,至于到底什么原因,可能是问题1
vim /etc/pam.d/login 加入:session required /lib/security/pam_limits.so但是还是没有办法解决
问题三:由于我是伪分布式,所以只要配本机就行,看了下配置了hostname
问题四:setup下看了我的防火墙,发现防火墙有两个,一个是firework一个是selinux,第一个关了,第二个没关
最后在我重启虚拟机后,终于可以正常运行,但是是不是就是第四步弄好的呢,在我重新打开selinux后,再次运行,依然正常,我想应该不是selinux没关的可能,至于到底什么原因,可能是问题1
3、map100% reduce% 但是最后报错:outout file already exist
删除output目录4、org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local directory for taskTracker/jobcache/job_201108311619_0703/attempt_201108311619_0703_m_000076_0/output/spill0.out
存储写满了。5、hadoop能map不能reduce(shuffle阶段报错,fetch#1错误)
Too many fetch-failures
13/02/25 21:20:48 INFO mapreduce.Job: Task Id : attempt_201302230043_0022_r_000000_0, Status : FAILED
org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#4
at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:124)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:362)
at org.apache.hadoop.mapred.Child$4.run(Child.java:223)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1153)
at org.apache.hadoop.mapred.Child.main(Child.java:217)
Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
at org.apache.hadoop.mapreduce.task.reduce.ShuffleScheduler.checkReducerHealth(ShuffleScheduler.java:253)
at org.apache.hadoop.mapreduce.task.reduce.ShuffleScheduler.copyFailed(ShuffleScheduler.java:187)
at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyMapOutput(Fetcher.java:347)
at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyFromHost(Fetcher.java:251)
at org.apache.hado
13/02/25 21:20:48 INFO mapreduce.Job: Task Id : attempt_201302230043_0022_r_000000_0, Status : FAILED
org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#4
at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:124)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:362)
at org.apache.hadoop.mapred.Child$4.run(Child.java:223)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1153)
at org.apache.hadoop.mapred.Child.main(Child.java:217)
Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
at org.apache.hadoop.mapreduce.task.reduce.ShuffleScheduler.checkReducerHealth(ShuffleScheduler.java:253)
at org.apache.hadoop.mapreduce.task.reduce.ShuffleScheduler.copyFailed(ShuffleScheduler.java:187)
at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyMapOutput(Fetcher.java:347)
at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyFromHost(Fetcher.java:251)
at org.apache.hado
几个可能原因:1、hostname 配置 2、我的错误(选用的数据压缩方法不对,造成错误):
job.getConfiguration().setClass("mapred.map.runner.class", MultithreadedMapRunner.class, MapRunnable.class);
job.getConfiguration().setBoolean("mapreduce.map.output.compress", true);
job.getConfiguration().setBoolean("mapreduce.map.output.compress", true);
0 0
- hadoop遇到的问题记录
- hadoop 遇到的问题记录
- (问题记录)部署Hadoop+MySQL+Hive遇到的问题
- ubuntu下搭建hadoop+链接eclipse遇到的问题记录
- hadoop学习过程中遇到的问题记录
- hadoop遇到的问题
- 运行Hadoop遇到的问题
- hadoop遇到的一些问题
- 初步 HADOOP 遇到的问题
- hadoop 程序遇到的问题
- 初学hadoop遇到的问题
- Hadoop开发遇到的问题
- hadoop 应用遇到的问题
- Hadoop可能遇到的问题
- hadoop 程序遇到的问题
- 搭建hadoop遇到的问题
- hadoop 2.7 遇到的问题
- 学习Hadoop遇到的问题
- 像素与照片尺寸、分辨率之间的关系
- 哨兵排序
- 大数据学习进程
- Java 生产者消费者问题
- BoxLayout用法
- hadoop 遇到的问题记录
- Clojure数据分析秘笈 笔记
- 数据库的主键与外键
- 学生成绩管理
- centos学习1-安装系统 centos6.4
- 七、训练自己的声学模型
- 意念控制智能车项目进展2014.11.07-09
- 查看端口号被哪个进程占用的方法
- Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁但是不能切换