- 浏览: 298999 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1158all the guys of visiting the bl ... -
hadoop 源码分析(六)hadoop taskTracker 生成map 和reduce任务流程
2013-04-09 17:36 2705taskTracker 生成map reduce ... -
hadoop 源码分析(六)hadoop taskTracker 生成map 和reduce任务流程
2013-04-09 17:33 0taskTracker 生成map reduce ... -
hadoop 源码分析(五)hadoop 任务调度TaskScheduler
2013-04-01 11:07 3902hadoop mapreduce 之所有能够实现job的运行 ... -
hadoop 源码分析(四)JobTracker 添加job 到schduler 队列中
2013-03-29 18:37 2841启动 JobTracker 1. 进入main方法: ... -
hadoop 源码分析(三) hadoop RPC 机制
2013-03-28 15:13 2373Hadoop 通信机制采用自己编写的RPC. 相比于 ... -
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker
2013-03-27 12:57 36891.JobClient 客户端类 通过 ... -
hadoop 源码分析(一) jobClient 提交到JobTracker
2013-03-26 13:41 3571Hadoop 用了2年多了.从最初一起创业的 ... -
RHadoop 安装教程
2013-02-01 17:18 1584RHadoop 环境安装 硬件: centos6 ... -
pig
2012-11-16 19:28 1173转自:http://www.hadoopor.c ... -
hadoop与hive的映射
2012-11-15 10:21 2339hadoop与hive的映射 ... -
hadoop distcp
2012-07-31 10:00 2784hadoop distcp 使用:distcp ... -
MapReduce中Mapper类和Reducer类4函数解析
2012-07-20 18:05 2084MapReduce中Mapper类和Reducer类4函数解析 ... -
hadoop metrics 各参数解释
2012-07-17 18:59 1476hadoop metrics 各参数解释 研究使用hadoo ... -
Hbase几种数据入库(load)方式比较
2012-07-17 14:52 13481. 预先生成HFile入库 这个地址有详细的说明http:/ ... -
Hadoop客户端环境配置
2012-05-11 14:59 1733Hadoop客户端环境配置 1. 安装客户端(通过端用户可以 ... -
hadoop 通过distcp进行并行复制
2012-05-02 15:25 2404通过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 12361-How do we break up a large p ...
相关推荐
《Hadoop硬实战》包含: ·Hadoop和MapReduce的基本概念 ·85个实战和测试技术 ·真实的场景,实用的解决方案 ·如何整合MapReduce和R前言 致谢关于本书 第1 部分 背景和基本原理1 跳跃中的Hadoop1.1 什么...
本篇文章是对hadoop常见错误以及处理方法进行了详细的分析介绍,需要的朋友参考下
3.2.5. 设置三台虚拟机的硬盘至少为30G,内存至少为2G 7 3.2.6. 虚拟机网络模式设置为NAT 8 3.2.7. 设置静态IP 8 3.2.8. 修改主机名 9 3.2.9. 设置ip和域名的映射 10 3.2.10. 重启虚拟机让设置生效 10 3.2.11. 第二...
技术点84 调试和错误处理 13.3 MapReduce 陷阱 技术点85 MapReduce 反模式 13.4 本章小结 附录A 相关技术 附录B Hadoop 内置的数据导入导出工具 附录C HDFS 解剖. 附录D 优化MapReduce 合并框架 索引 ...
Spark与Apache Hadoop有何关系? Spark是与Hadoop数据兼容的快速通用处理引擎。它可以通过YARN或Spark的Standalone在Hadoop集群中运行,并且可以处理HDFS、Hbase、Cassandra、Hive和任何Hadoop InputFormat中的数据...
Java Collections 实现,使用堆外内存扩展到数百万个元素,而不会遇到 GC 错误。 它利用 Google 的 LevelDB 项目来实现这一点。 目前这个 API 支持三种类型的 Collections java.util.Map java.util.List...
牢记以下五个步骤可以为你减少很多头痛的问题并且避免Java堆空间错误。 通过计算预期的内存消耗。 检查JVM是否有足够的可用空间。 检查JVM的设置是否正确。 限制节点使用交换空间和内存分页。 设置...
Couchbase 是一个分布式系统,它使用 memcached 下的代理来添加一个最终会收敛到磁盘的集群层,从而创建可用作高可用性、内存中容错分布式文档存储的东西。 Couchbase 是开源的,一个团队致力于闭源构建,其中的功能...
数据倾斜会发⽣在数据开发的各个环节中,⽐如: ⽤Hive算数据的时候reduce阶段卡在99.99% ⽤SparkStreaming做实时算法时候,⼀直会有executor出现OOM的错误,但是其余的executor内存使⽤率却很低。 数据倾斜有⼀个...
数据倾斜会发生在数据开发的各个环节中,比如: 用Hive算数据的时候reduce阶段卡在99.99% 用SparkStreaming做实时算法时候,一直会有executor出现OOM的错误,但是其余的executor内存使用率却很低。 数据倾斜有一个...
Java语言简洁明了,剔除了C++中诸如指针等复杂且容易引发错误的概念,增强了安全性,并强调了类和对象在软件设计中的核心地位。它不仅支持面向对象编程的所有特性,如封装、继承和多态,还具有健壮性、安全性以及...
Java语言简洁明了,剔除了C++中诸如指针等复杂且容易引发错误的概念,增强了安全性,并强调了类和对象在软件设计中的核心地位。它不仅支持面向对象编程的所有特性,如封装、继承和多态,还具有健壮性、安全性以及...
Java语言简洁明了,剔除了C++中诸如指针等复杂且容易引发错误的概念,增强了安全性,并强调了类和对象在软件设计中的核心地位。它不仅支持面向对象编程的所有特性,如封装、继承和多态,还具有健壮性、安全性以及...
此文章仅做个人学习记录与参考,如有错误,欢迎指正博客地址 [ ]一、准备1. 虚拟机:VMware Fusion2. IDE:Intellijidea快捷键 [ windows ]idea快捷键 [ mac ]3. JDK1.84. hadoop2.5.2,参照文档 5. zookeeper-3.4.6...
系列错误的详细信息 预期缩进? 显示上下文行 主要的 --chain - 被shebang魔法取代 --help --version 词法分析器 捕获非法字符 空格\f \n \r \t \v 专用标识符$ 代替通用字符名称: \u5B81 \U0001F005 / 缩进和翻译 ...
关键特性: 线性扩展 7 增加一个新结点到VoltDB集群可以有限提升集群的最大吞吐量,也可以增加整个集群的内存容量 集群的大小对应用来说是透明的 高频大数据解决方案全文共28页,当前为第7页。 关键特性: 线性扩展...
不同于一般的资产管理工具, 蚁巡在做IT设备管理时把设备的自动发现、设备的监 控融合到了一起,使得维护工作变得更加准确、更加 简单,不再会出现人为的统计错误。 通过蚁巡,蚁坊软件在设备的采购和维护从无序走 ...