- 浏览: 107155 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zenoh:
是啊,我也纳闷,apache hadoop2.2.0的已经修复 ...
安装CDH5 hadoop2.2.0遇到的配置问题 -
Molisa:
你好,我有两个问题请教一下:1.为了密码安全,你有没有试过使用 ...
使用oozie调度sqoop从oracle导入hbase
前一阵子发现用户提交的hive query和hadoop job会导致集群的load非常高,经查看配置,发现很多用户擅自将mapred.child.java.opts设置的非常大,比如-Xmx4096m(我们默认设置是-Xmx1024m), 导致了tasktracker上内存资源耗尽,进而开始不断swap磁盘上数据,load飙升
TaskTracker在spawn一个map/reduce task jvm的时候,会根据用户JobConf里面的值设定jvm的参数,然后写入一个taskjvm.sh文件中,然后调用linux命令"bin/bash -c taskjvm.sh"来执行task,
mapred.child.java.opts就是设定jvm的参数之一,在新版本中已经标注Deprecateded,取而代之的是区分Map task和Reduce task的jvm opts,mapred.map.child.java.opts和mapred.reduce.child.java.opts(默认值为-Xmx200m)
当用户在不设该值情况下,会以最大1G jvm heap size启动task,有可能导致OutOfMemory,所以最简单的做法就是设大参数,并且由于这个值不是final,所以用户在自己的mapred-site.xml中可以覆盖默认值。但是如果很多用户都无限度设置的话,high load问题就来了。
其实在构造JVM Args的过程中,是有另外一个admin参数可以覆盖用户端设置的mapreduce.admin.map.child.java.opts, mapreduce.admin.reduce.child.java.opts
经测试,如果相同的jvm arg如果写在后面,比如"-Xmx4000m -Xmx1000m",后面的会覆盖前面的,“-Xmx1000m”会最终生效,通过这种方式,我们就可以有限度的控制heap size了
最终在mapred-site.xml中加上
构造child java opts的call stack:
不过这种方式只是限定了task的jvm heap最大限制,如果用户hive query优化不够好还是会抛出OOM,其实是把问题抛给了用户,
接下来还要和用户一起看下到底是哪些query会占用如此大memory,看看有没有进一步优化的空间
转自:http://tech.ddvip.com/2013-10/1381314271203741.html
TaskTracker在spawn一个map/reduce task jvm的时候,会根据用户JobConf里面的值设定jvm的参数,然后写入一个taskjvm.sh文件中,然后调用linux命令"bin/bash -c taskjvm.sh"来执行task,
mapred.child.java.opts就是设定jvm的参数之一,在新版本中已经标注Deprecateded,取而代之的是区分Map task和Reduce task的jvm opts,mapred.map.child.java.opts和mapred.reduce.child.java.opts(默认值为-Xmx200m)
当用户在不设该值情况下,会以最大1G jvm heap size启动task,有可能导致OutOfMemory,所以最简单的做法就是设大参数,并且由于这个值不是final,所以用户在自己的mapred-site.xml中可以覆盖默认值。但是如果很多用户都无限度设置的话,high load问题就来了。
其实在构造JVM Args的过程中,是有另外一个admin参数可以覆盖用户端设置的mapreduce.admin.map.child.java.opts, mapreduce.admin.reduce.child.java.opts
经测试,如果相同的jvm arg如果写在后面,比如"-Xmx4000m -Xmx1000m",后面的会覆盖前面的,“-Xmx1000m”会最终生效,通过这种方式,我们就可以有限度的控制heap size了
最终在mapred-site.xml中加上
<property> <name>mapreduce.admin.map.child.java.opts</name> <value>-Xmx1024m</value> </property> <property> <name>mapreduce.admin.reduce.child.java.opts</name> <value>-Xmx1536m</value> </property>
构造child java opts的call stack:
不过这种方式只是限定了task的jvm heap最大限制,如果用户hive query优化不够好还是会抛出OOM,其实是把问题抛给了用户,
接下来还要和用户一起看下到底是哪些query会占用如此大memory,看看有没有进一步优化的空间
转自:http://tech.ddvip.com/2013-10/1381314271203741.html
发表评论
-
-snn.saturn.local:8485 failed on connection exception: java.net.ConnectException
2014-05-07 15:12 02014-01-26 00:46:35,631 INFO ... -
Hadoop 归档 和HIVE 如何使用har 归档 文件
2014-05-01 23:47 1022Hadoop archive 唯一的优势可能就是将众多的小 ... -
Hadoop的JVM重用
2014-05-01 20:21 1066Hadoop中有个参数是mapred.job.reuse. ... -
Hadoop 优化总结(一)
2014-04-27 12:09 15521. 使用自定义Writable 自带的Text很好用,但 ... -
hadoop调优
2014-04-26 12:01 0硬件级别提高磁盘IO的 ... -
启动hadoop 报错:A fatal error has been detected by the Java Runtime
2014-04-25 10:10 0今天在重启hadoop集群的时候,一个节点报了下面的一个错,由 ... -
java.io.IOException: Cannot obtain block length for LocatedBlock{BP-
2014-04-25 10:07 0今天的job在执行的时候,出现了下述的异常: java. ... -
hadoop报的一个job提交的错
2014-04-24 10:56 0Diagnostics: Application a ... -
hadoop hdfs HA 启动不了ZKFC
2014-04-23 11:47 0测试环境master1 系统重做了,原来的所有数据都丢失,后来 ... -
Hadoop平台优化综述(一)
2014-04-19 18:48 01. 概述 随着企业 ... -
大数据处理分析的六大最好工具
2014-04-19 11:59 0Hadoop Hadoop 是一个能够对大量数据进行分布式处 ... -
Shuffle$ShuffleError
2014-04-06 10:10 0Error: org.apache.hadoop.mapr ... -
hadoop2.2.0 CDH 源码编译
2014-03-27 13:29 01 下载 源码 wget chd5 2 安装软件 yum ... -
hadoop参数配置优化
2014-03-13 15:12 679hadoop.tmp.dir 默认值: /tmp 说明: 尽 ... -
Hadoop为什么处理小数据量时效果不好?
2014-03-11 16:50 1123Every file, directory and bloc ... -
Hadoop : MapReduce中的Shuffle和Sort分析
2014-03-03 14:06 856MapReduce 是现今一个非常流行的分布式计算框架,它被 ... -
关于Hadoop的shuffle
2014-03-03 11:16 850我们知道每个reduce task输入的key都是按照k ... -
Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError:
2014-03-01 23:17 4209hadoop执行JOB在reduce阶段 ... -
hadoop Caused by: java.io.IOException: Filesystem closed
2014-02-25 13:46 6476今天在执行hive的时候报了下面的错: 2014-02 ... -
Error in storing RMDelegationToken with sequence number:
2014-02-20 11:05 1122今天用oozie调度hadoop任务时,发现在每次在执行时,R ...
相关推荐
MpApt - Kotlin (Native/JS/JVM) Annotation Processor library I wrote an annotation processing libary that can detect annotations in Kotlin Native/JS and Jvm projects, because Kapt is only ...
mpapt-kotlin(native/js/jvm)注释处理器库
jvm-npm, 适用于JVM的兼容CommonJS模块加载器 JVM上Javascript运行时中的NPM模块加载支持。 实现基于 http://nodejs.org/api/modules.html,应该完全兼容。 当然,不包括完整的node.js API,因此不要期望依赖于它的...
jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识...
1 什么是性能优化\ 2 性能测试与优化\ 3 性能优化JVM篇\ 4 性能优化Tomcat篇\ 5 性能优化mysql篇\
通过修改server.xml进行JVM堆大小的设置: servel.xml文件路径:/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/22Node01Cell/nodes/Node01/servers/server1 server.xml中修改或增加配置
基于arm64架构CentOS 7.9.2009 (AltArch)版本系统 ...打包/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.aarch64 openEuler 20.04 LTS安装GConf2-devel后,可启动apache-tomcat-8.5.91
设置eclipse的Java环境:在eclipse下创建一个jre文件夹sudo mkdir jre,进 " "入该文件夹:cd jre, " "加入一条连接指令ln -s /usr/lib/jvm/java-7-sun/bin bin " "(2)在eclipse中添加Map/Reduce:点击上方window...
jvm.go 是一个用 Go 语言编写的 JVM 虚拟机。开发环境:Mac OS X 10.10.2Java 1.8.0_31Go 1.4构建方法:export GOPATH=path/to/jvm.go/ go install jvmgo创建如下目录结构:path/to/jvm.go/bin ├── jvmgo ...
JVM参数设置,提供java虚拟机运行时的参数设置
本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM...1.3JVM参数设置思路1.4JVM调优常用指令说明 第七节:JVM项目实战 1.1案例背景 1.2排查步骤 1.3.arthas 1.3.1.arthas简介 1.3.2.arthas实战 1.3总结
Java助力需要jvm学习及优化与性能瓶颈分析参考
JVM 深入学习教程深入分析JVM教程!jvm 内存原型,优化等等
JVM优化方法
实战JAVA虚拟机 JVM故障诊断与性能优化.pdf (无书签.低分放送) 实战JAVA虚拟机 JVM故障诊断与性能优化.pdf (无书签.低分放送) 实战JAVA虚拟机 JVM故障诊断与性能优化.pdf (无书签.低分放送)
jvm参数优化后,tomcat稳定可靠,附件为通过长时间在线测试的配置参数文件
jvm优化;
java获得jvm内存大小
resin jvm性能优化 一、优化配置 修改 conf/resin.conf 文章中的 JVM参数 <jvm-arg>-Xms512m</jvm-arg> <jvm-arg>-Xss128k</jvm-arg> <jvm-arg>-Xmn184m</jvm-arg> <jvm-arg>-XX:ParallelGCThreads=20</jvm...
- 掌握jvm的运行参数以及参数的设置 - 掌握jvm的内存模型(堆内存) - 掌握jamp命令的使用以及通过MAT工具进行分析 - 掌握定位分析内存溢出的方法 - 掌握jstack命令的使用 - 掌握VisualJVM工具的使用 - 了解什么是...