- 浏览: 306684 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (165)
- hadoop (47)
- linux (11)
- nutch (7)
- hbase (7)
- solr (4)
- zookeeper (4)
- J2EE (1)
- jquery (3)
- java (17)
- mysql (14)
- perl (2)
- compass (4)
- suse (2)
- memcache (1)
- as (1)
- roller (1)
- web (7)
- MongoDB (8)
- struts2 (3)
- lucene (2)
- 算法 (4)
- 中文分词 (3)
- hive (17)
- noIT (1)
- 中间件 (2)
- maven (2)
- sd (0)
- php (2)
- asdf (0)
- kerberos 安装 (1)
- git (1)
- osgi (1)
- impala (1)
- book (1)
- python 安装 科学计算包 (1)
最新评论
-
dandongsoft:
你写的不好用啊
solr 同义词搜索 -
黎明lm:
meifangzi 写道楼主真厉害 都分析源码了 用了很久. ...
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker -
meifangzi:
楼主真厉害 都分析源码了
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker -
zhdkn:
顶一个,最近也在学习设计模式,发现一个问题,如果老是看别人的博 ...
Java观察者模式(Observer)详解及应用 -
lvwenwen:
木南飘香 写道
高并发网站的架构
hadoop 内存给定错误
11/09/06 09:20:25 WARN mapred.JobClient: Error reading task outputhttp://server4:50060/tasklog?plaintext=true&taskid=attempt_201109060853_0005_r_000008_0&filter=stdout
11/09/06 09:20:25 WARN mapred.JobClient: Error reading task outputhttp://server4:50060/tasklog?plaintext=true&taskid=attempt_201109060853_0005_r_000008_0&filter=stderr
11/09/06 09:20:34 INFO mapred.JobClient: Task Id : attempt_201109060853_0005_m_000009_1, Status : FAILED
java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:418)
运行map reduce任务的时候 报这个错误,查了些文章 说是 应该吧 userlogs 下面的文件都删除掉
老外的文章:
Just an FYI, found the solution to this problem.
Apparently, it's an OS limit on the number of sub-directories that can be reated in another directory. In this case, we had 31998 sub-directories uder hadoop/userlogs/, so any new tasks would fail in Job Setup.
From the unix command line, mkdir fails as well:
$ mkdir hadoop/userlogs/testdir
mkdir: cannot create directory `hadoop/userlogs/testdir': Too many links
Difficult to track down because the Hadoop error message gives no hint whasoever. And normally, you'd look in the userlog itself for more info, butin this case the userlog couldn't be created.
但是 我的问题在userlogs下 可以mkdir test 是成功的 所以 删除这个userlogs下的所有文件 仍然报错
于是查看uerlogs下的文件:
[suse@server6 userlogs]$ cat attempt_201109060853_0005_m_000009_2/
[suse@server6 attempt_201109060853_0005_m_000009_2]$ cat stdout
Error occurred during initialization of VM
Incompatible minimum and maximum heap sizes specified
发现是 jvm 内存给定错误:
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx1024m -Xms1024m -Xmn192m -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:$HADOOP_HOME/logs/gc.log</value>
<description>Java opts for the task tracker child processes.
The following symbol, if present, will be interpolated: @taskid@ is replaced
by current TaskID. Any other occurrences of '@' will go unchanged.
For example, to enable verbose gc logging to a file named for the taskid in
/tmp and to set the heap maximum to be a gigabyte, pass a 'value' of:
-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc
The configuration variable mapred.child.ulimit can be used to control the
maximum virtual memory of the child processes.
</description>
</property>
原来我写的是
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx512m -Xms1024m -Xmn192m -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:$HADOOP_HOME/logs/gc.log</value>
<description>Java opts for the task tracker child processes.
The following symbol, if present, will be interpolated: @taskid@ is replaced
by current TaskID. Any other occurrences of '@' will go unchanged.
For example, to enable verbose gc logging to a file named for the taskid in
/tmp and to set the heap maximum to be a gigabyte, pass a 'value' of:
-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc
The configuration variable mapred.child.ulimit can be used to control the
maximum virtual memory of the child processes.
</description>
</property>
不小心写错了:
下面介绍下这几个参数的意思
-Xss 20000k
这个参数的意思是 每增加一个线程 jvm 会增加 20M 的内存,而最佳值应该是128K,默认值好像是512k.
-Xmx jvm 启动最大内存,Java Heap最大值,默认值为物理内存的1 / 4 ,最佳设值应该视物理内存大小及计算机内其他内存开销而定
-Xms jvm Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-Xmn Java Heap Young区大小,不熟悉最好保留默认值;
-Xss 每个线程的Stack大小,不熟悉最好保留默认值;
发表评论
-
博客地址变更
2013-08-16 10:29 1225all the guys of visiting the bl ... -
hadoop 源码分析(六)hadoop taskTracker 生成map 和reduce任务流程
2013-04-09 17:36 2750taskTracker 生成map reduce ... -
hadoop 源码分析(六)hadoop taskTracker 生成map 和reduce任务流程
2013-04-09 17:33 0taskTracker 生成map reduce ... -
hadoop 源码分析(五)hadoop 任务调度TaskScheduler
2013-04-01 11:07 3949hadoop mapreduce 之所有能够实现job的运行 ... -
hadoop 源码分析(四)JobTracker 添加job 到schduler 队列中
2013-03-29 18:37 2883启动 JobTracker 1. 进入main方法: ... -
hadoop 源码分析(三) hadoop RPC 机制
2013-03-28 15:13 2415Hadoop 通信机制采用自己编写的RPC. 相比于 ... -
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker
2013-03-27 12:57 38051.JobClient 客户端类 通过 ... -
hadoop 源码分析(一) jobClient 提交到JobTracker
2013-03-26 13:41 3620Hadoop 用了2年多了.从最初一起创业的 ... -
RHadoop 安装教程
2013-02-01 17:18 1634RHadoop 环境安装 硬件: centos6 ... -
pig
2012-11-16 19:28 1220转自:http://www.hadoopor.c ... -
hadoop与hive的映射
2012-11-15 10:21 2377hadoop与hive的映射 ... -
hadoop distcp
2012-07-31 10:00 2834hadoop distcp 使用:distcp ... -
MapReduce中Mapper类和Reducer类4函数解析
2012-07-20 18:05 2133MapReduce中Mapper类和Reducer类4函数解析 ... -
hadoop metrics 各参数解释
2012-07-17 18:59 1518hadoop metrics 各参数解释 研究使用hadoo ... -
Hbase几种数据入库(load)方式比较
2012-07-17 14:52 13891. 预先生成HFile入库 这个地址有详细的说明http:/ ... -
Hadoop客户端环境配置
2012-05-11 14:59 1778Hadoop客户端环境配置 1. 安装客户端(通过端用户可以 ... -
hadoop 通过distcp进行并行复制
2012-05-02 15:25 2483通过distcp进行并行复制 前面的HDFS访问模型都集中于 ... -
linux crontab 执行hadoop脚本 关于hadoop环境变量引入
2012-04-10 12:11 0crontab问题 crontab的特点:PATH不全和无终 ... -
hadoop fs 命令封装
2012-04-09 09:39 0hadoop fs 命令封装 #!/usr/bin/env ... -
map-reduce编程核心问题
2012-02-22 13:38 12821-How do we break up a large p ...
相关推荐
否则,你可能会遇到启动Hadoop服务时的错误,例如“找不到Winutils.exe”或“无法加载hadoop.dll”。 在使用Hadoop进行大数据分析时,理解这些基础组件的工作原理和如何正确配置它们对于成功运行Hadoop任务至关重要...
安装或使用Hadoop的dll文件时,可能会遇到一些常见问题,如版本不兼容、路径配置错误或缺失依赖。解决这些问题通常需要检查以下几点: 1. 确保dll文件与Hadoop版本兼容。 2. 检查Java环境是否正确配置,包括JDK版本...
如何诊断并解决Hadoop集群中的各种错误,以及如何实施用户权限控制、数据加密和网络安全措施,都是运维人员必须掌握的技能。 总之,《Hadoop技术详解》这本书会深入讲解Hadoop的各个方面,包括其核心组件、生态系统...
它包含了Hadoop在Windows平台上运行所需的一些底层函数,这些函数通常涉及到系统调用、内存管理、线程操作等。由于Hadoop最初是为Linux系统设计的,因此在Windows上运行时,需要这样的DLL文件来模拟Linux环境。如果...
DLL文件包含了可被多个程序共享的代码和数据,从而减少了内存占用和磁盘空间。在Hadoop的案例中,hadoop.dll包含了Hadoop分布式文件系统(HDFS)和MapReduce框架的部分功能,使得开发者能够在Windows环境下进行...
9. **故障排查与维护**: 使用hadoop.dll和winutils.exe时,可能会遇到各种问题,如文件权限错误、端口冲突等。了解如何诊断和解决这些问题,是确保Hadoop在Windows上稳定运行的关键。 总的来说,理解和掌握Hadoop ...
7. **资源管理**:包含如内存管理、磁盘空间检测等,以优化集群资源的分配和使用。 在Hadoop Common 0.23.8版本中,可能的改进点包括: - **性能提升**:可能对某些关键操作进行了优化,如文件读写速度、网络传输...
6. `winutils.pdb`:这是程序数据库文件,用于在调试过程中存储有关编译的源代码和调试信息,帮助开发者解决运行时错误和性能问题。 在实际使用中,用户需要将这些文件正确地配置到Hadoop的环境变量中,以确保...
6. **性能优化和稳定性**:Hadoop 2.7.7相对于早期版本,进行了很多性能优化和稳定性改进,包括更高效的磁盘I/O、内存管理和网络通信,以及错误检测和恢复机制的增强。 通过深入学习和分析Hadoop 2.7.7的源代码,...
本地库(Native Libraries)在Hadoop中扮演着关键角色,它们主要是C++编写的,用于提升Hadoop的性能,尤其是在文件系统操作和内存管理等方面。这些库包括如libhdfs和libhadoop等,它们提供了与操作系统的直接交互,...
问题描述:Hadoop抛出"No live nodes contain current block"错误。 解决办法:该问题是由于dfs.datanode.socket.write.timeout的值太小所致。解决办法是将dfs.datanode.socket.write.timeout的值设为0,然后增加...
如果遇到“找不到hadoop.dll”这样的错误,可能是因为环境变量配置不正确,或者下载的hadoop.dll与系统架构不匹配。在这种情况下,应检查JDK版本是否兼容,以及Hadoop的版本是否与系统需求相符。 此外,对于开发者...
当在64位Linux系统上运行Hadoop 2.2.0时,如果遇到如性能下降、无法启动或者错误提示需要特定的native库,这时就需要使用这个预编译好的native文件夹。将这个文件夹替换到Hadoop安装目录下的相应位置,可以确保...
在实际操作中,你可能会遇到各种问题,如权限问题、网络问题等,需要根据错误信息进行调试和解决。同时,了解Hadoop的工作原理,如HDFS的数据块分布和MapReduce的计算模型,对理解整个流程也非常有帮助。
然而,当Hadoop在Windows环境下运行时,可能会遇到一些兼容性问题,特别是与系统库相关的错误。标题提到的“Hadoop用微软运行库”就是为了解决这类问题而提供的解决方案。 描述中指出,这个微软运行库主要是为了...
对于Hadoop而言,`hadoop.dll`包含了Hadoop运行时所需的特定功能,如网络通信、内存管理、I/O操作等。在32位Windows系统(如Windows 7或Windows Server 2008)中,你需要这个32位版本的`hadoop.dll`来确保Hadoop能...
1. 检查系统环境,确认是否满足Hadoop的安装需求,例如操作系统版本、内存大小等。 2. 安装JDK:这可能通过apt-get或yum命令在Ubuntu/CentOS等系统上进行,或者通过解压预下载的JDK包并设置环境变量。 3. 配置环境...
在压缩包文件名称列表中提到的"hadoop.cll"可能是一个拼写错误,正确的文件应该是"hadoop.dll"。在下载或提取Hadoop 2.7.1的Windows版本时,用户需要确保这两个文件都存在于正确的路径下,并且与Hadoop的其他部分...
在大数据处理和分析的背景下,理解Hadoop的运作原理和使用方法是至关重要的,这包括数据的分布式存储、并行计算模型、任务调度以及错误恢复机制等。Hadoop还常常与其他大数据工具(如Spark、Hive、Pig等)结合使用,...
DLL文件通常包含了程序运行所需的函数和资源,使得多个程序可以共享同一份代码,从而节省内存。在Hadoop中,hadoop.dll可能包含了与Hadoop文件系统(HDFS)交互、网络通信以及任务调度等功能的实现。 2. **winutils...