平台调优方案

存在的问题:

1 启动hive后等待资源的时间

2 根据输入文件的大小,map task 的个数是变化的,reduce始终是30,如何优化map的个数,map个数与reduce个数之间的关系比例?

Map 执行到百分之多少的时候,reduce可以进行?有个参数比例设置?

调整map和reduce 任务执行的内存和CPU虚拟内核数,将之前的2G和2核调整为4G和4核

3 insert中表与表之间的join,设计mapreduce的建议将小表放在前面。

where的条件写在join里面,使得减少join的数量

如果union all的部分个数大于2,或者每个union部分数据量大,应该拆成多个insert into 语句,实际测试过程中,执行时间能提升50%

4 包含group by 的是否要防止数据倾斜?set hive.groupby.skewindata = true

单个SQL所起的JOB个数尽量控制在5个以下

5 集群1点到4点多个复杂的任务在抢占资源,最高是运行85个程序,平均40多个,可以适当调整时间

6 优化执行时间超过一个小时的程序:

从odsh到ods层的程序

7 删除hdfs 目录下包含.hive-staging的文件

9 相关可能的调优参数

Yarn 资源分配性能调优

mapreduce.map.Java.opts –Xmx1024
mapreduce.reduce.java.opts=-Xms1024m –Xmx1024m;
说明:这两个参主要是为需要运行JVM程序(java、Scala等)准备的,通过这两个设置可以向JVM中传递参数的,与内存有关的是,-Xmx,-Xms等选项。此数值大小,应该在AM中的map.mb和reduce.mb之间。

时间: 2024-12-10 02:48:47

平台调优方案的相关文章

进程和cpu的相关知识和简单调优方案

进程就是一段执行的程序,每当一个程序运行时,对于操作系统本身来说,就创建了一个进程,并且分配了对应的资源.进程可以分为3个类别: 1.交互式进程(I/O) 2.批处理进程 (CPU) 3.实时进程 (REAL-TIME) 对于交互式进程来说,一般其占用的cpu时间片很段,但是优先级偏高;批处理进程占用的cpu时间片很长,但是优先级偏底;实时进程是内核所使用的,其优先级高于前面两种. 上面说到了优先级,linux进程是具有优先级的,一般分为两种: 1.实时优先级 2.静态优先级 实时优先级的取值范

linux内存基础知识和相关调优方案

内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁.计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大.内存作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据.只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行.对于整个操作系统来说,内存可能是最麻烦的的设备.而其性能的好坏直接影响着整个操作系统. 我们知道CPU是不能与硬盘打交道的,只有数据被载入到内存中才可

tomcat组成介绍和调优方案

1.tomcat组成介绍 1.1 目录组成介绍 1.2 启动tomcat中遇到的问题 a.启动过程中出现很多异常:因为端口被占用了 解决方式1:修改Tomcat\conf\server.xml中的默认端口 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 解决方式2:关掉占用8080

java性能调优---------------------JVM调优方案

JVM的调优的主要过程有: 1.确定堆内存大小(-Xmx.-Xms) 2.合理分配新生代和老年代(-XX:NewRatio.-Xmn.-XX:SurvivorRatio) 3.确定永久区大小(-XX:Permsize.-XX:MaxPermSiize) 4.选择垃圾回收器 5.对垃圾回收器进行合理设置 6.禁用GC(-XX:+DisableExplicitGC) 7.禁用类元数据回收(-Xnoclassgc) 8.禁用类验证(-Xverify:none) 原文地址:https://www.cnb

转 Linux调优方案,sysctl.conf的设置

$ /proc/sys/net/core/wmem_max 最大socket写buffer,可参考的优化值:873200 $ /proc/sys/net/core/rmem_max 最大socket读buffer,可参考的优化值:873200 $ /proc/sys/net/ipv4/tcp_wmem TCP写buffer,可参考的优化值:32768 436600 873200 $ /proc/sys/net/ipv4/tcp_rmem TCP读buffer,可参考的优化值:32768 4366

【转】转 Linux调优方案,sysctl.conf的设置

http://blog.sina.com.cn/s/blog_541086000100skq0.html proc/sys/net/ipv4/下各项的意义 http://blog.chinaunix.net/space.php?uid=20423817&do=blog&id=1682374 网站加速:服务器篇 一些实用tips的整理 http://bbs.chinaunix.net/thread-2318039-1-1.html 问题表现就是epoll这个服务端对10000的并发请求处理特

Tomcat性能调优方案

web应用的并发提升,除了负载均衡.在小企业中也可以通过一些软件的上的设置来进行一些优化.下面是一些在服务器上修改tomcat参数的优化方法,非常简单实用!(这些方法通过网络整理的) 1,让Tomcat6 中支持Java语言的特性 NIO( New I/O) 引用 使用NIO在服务器端会有更好的性能,加强服务器端对并发处理的性能.  请注意:很抱歉,在tomcat6在默认的配置选项中是没有把NIO功能打开.所以很多正在使用Tomcat6的朋友们本以为能快活的使用上NIO. 而NIO则是使用单线程

Linux 调优方案, 修改最大连接数(ulimit命令)【转】

转自:http://blog.csdn.net/liangxiaozhang/article/details/8363435 Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数 可以用ulimit -a 来显示当前的各种用户进程限制.下面我把某linux用户的最大进程数设为10000个:ulimit -u 10240对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,最好通过使用 ulimit -n x

Linux 调优方案, 修改最大连接数-ulimit

Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数 可以用ulimit -a 来显示当前的各种用户进程限制.下面我把某linux用户的最大进程数设为10000个:     ulimit -u 10240     对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,     最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024.     ulimit -n 4096 将每