首页 > 其他分享 >hadoop性能调优笔记

hadoop性能调优笔记

时间:2023-07-13 19:31:31浏览次数:38  
标签:map tasks mapred reduce hadoop 笔记 task 调优 CPU


Hadoop调优

mapred.tasktracker.map.tasks.maximum

 

官方解释:The maximum number of map tasks that will be run  simultaneously by a task tracker.

 

我的理解:一个tasktracker最多可以同时运行的map任务数量

 

默认值:2

 

优化值:mapred.tasktracker.map.tasks.maximum = cpu数量

 


cpu数量 = 服务器CPU总核数 / 每个CPU的核数
服务器CPU总核数 = more /proc/cpuinfo | grep 'processor' | wc -l
每个CPU的核数 = more /proc/cpuinfo | grep 'cpu cores'


mapred.map.tasks

官方的解释:The default number of map tasks per job

 

我的解释:一个Job会使用task tracker的map任务槽数量,这个值 ≤ mapred.tasktracker.map.tasks.maximum

 

默认值:2

 

优化值:

  1. CPU数量 (我们目前的实践值)
  2. (CPU数量 > 2) ? (CPU数量 * 0.75) : 1  (mapr的官方建议)

 

注意:map任务的数量是由input spilit决定的,和上面两个参数无关

mapred.tasktracker.reduce.tasks.maximum

 

官方解释:The maximum number of reduce tasks that will be run  simultaneously by a task tracker.

 

我的理解:一个task tracker最多可以同时运行的reduce任务数量

 

默认值:2

 

优化值: (CPU数量 > 2) ? (CPU数量 * 0.50): 1 (mapr的官方建议)

mapred.reduce.tasks

 

官方解释:The default number of reduce tasks per job. Typically set to 99%  of the cluster's reduce capacity, so that if a node fails the reduces can  still be executed in a single wave.

 

我的理解:一个Job会使用task tracker的reduce任务槽数量

 

默认值:1

 

优化值:

  • 0.95 * mapred.tasktracker.tasks.maximum

理由:启用95%的reduce任务槽运行task, recude task运行一轮就可以完成。剩余5%的任务槽永远失败任务,重新执行

  • 1.75 * mapred.tasktracker.tasks.maximum

理由:因为reduce task数量超过reduce槽数,所以需要两轮才能完成所有reduce task。具体快的原理我没有完全理解,上原文:

 

    hadoop官方wiki: 写道


At 1.75 the faster nodes will finish their first round of reduces and launch a second round of reduces doing a much better job of load balancing.


 

环境变量

disable ipv6配置,修改bin/hadoop,添加下行:

 

 


HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

 

Hive调优:

 

mapred.reduce.tasks

 


官方 写道


The default number of reduce tasks per job. Typically set
to a prime close to the number of available hosts. Ignored when
mapred.job.tracker is "local". Hadoop set this to 1 by default, whereas hive uses -1 as its default value.
By setting this property to -1, Hive will automatically figure out what should be the number of reducers.


 

 


我的理解


tasktracker执行hive job的reduce任务数,设置为"-1"hive将自动设置该值,策略如下:

1. hive.exec.reducers.bytes.per.reducer(默认为1GB)
2. hive.exec.reducers.max(默认为999)

mapred.reduce.tasks = min ( 参数2,总输入数据量/参数1 )

 

默认值:-1

 

优化值:显式设置为Hadoop配置中mapred.reduce.tasks值,参考上文。

 



 

 

 

 

 

标签:map,tasks,mapred,reduce,hadoop,笔记,task,调优,CPU
From: https://blog.51cto.com/u_16187922/6715601

相关文章

  • 【学习笔记】插头 DP
    插头DP,是一类解决网格图上连通性问题的状压DP。相关概念轮廓线:已经决策的方格和未决策方格之间的分界线。插头:用来描述连通性,一个方格与其某一方向的相邻方格连通,则称这个方格有某个方向的插头。容易发现在轮廓线上,每个时刻都是有\(n\)个上插头与\(1\)个左插头。如图,红......
  • wireshark学习笔记
    参考博客1、https://www.cnblogs.com/yuanyuzhou/p/16308963.html功能说明使用方法1、打开wireshark之后,首先需要选择抓包的网卡,上面有显示每个网卡的流量,不知道是哪张网卡的话,可以试试多访问几次,看看流量变化情况选择。2、假如本机ip为:10.169.62.89,查看各个网卡的ip,发现是:以......
  • hadoop相关端口说明
    http相关端口:DaemonDefaultPortConfigurationParameterHDFSNamenode50070dfs.http.addressDatanodes50075dfs.datanode.http.addressSecondarynamenode50090dfs.secondary.http.addressBackup/Checkpointnode❋50105dfs.backup.http.addressMapReduceJobracker50030mapred.job.......
  • 解析 bin/hadoop 文件
     $HADOOP_HOME/bin/hadoop文件是Hadoop主要shell脚本,它提供格式化HDFS、恢复namenode、HDFSShell、任务提交等诸多功能,它的执行语句在最后一行,如下: exec"$JAVA"$JAVA_HEAP_MAX$HADOOP_OPTS-classpath"$CLASSPATH"$CLASS"$@" 下面是这几个变量的说明: $JAVA $......
  • harbor学习笔记
    linux环境离线安装1、版本:harbor-offline-installer-v2.8.0-rc1.tgz2、一次成功的流程(仅针对于上面的版本):前置条件:需要预先安装docker、docker-compose[root@HN01harbor]#dockerversionClient:Version:18.09.0EulerVersion:18.09.0.100APIversion......
  • 动态规划DP入门笔记
    动态规划以斐波那契数列为例:\(f_i\)状态\(f_i=f_{i-1}+f_{i-2}\)转移方程\(f_0=0\),\(f_1=1\)初始化dp的实现方法一般有三种,其中的两种(最重要的)如下#include<bits/stdc++.h>usingnamespacestd;intf[200010];signedmain(){ intn; scanf("%d",&n);......
  • 数据结构练习笔记——单链表的创建
    单链表的创建【问题描述】从键盘终端输入若干整数,为其创建带头节点的单链表存储结构【样例输入】51223323345【样例输出】1223323345【样例说明】第一行的数为单链表中元素的个数,后面为各元素的值#include<iostream>usingnamespacestd;structLNode{......
  • StarRocks Segment源码阅读笔记--SegmentIterator创建
    StarRocks中要读取Segment中的数据,需要先创建SegmentIteratorStatusOr<ChunkIteratorPtr>Segment::_new_iterator(constSchema&schema,constSegmentReadOptions&read_options){DCHECK(read_options.stats!=nullptr);//tryingtoprunethecurrentse......
  • 虚树 学习笔记
    虚树学习笔记引入我们在解决树上问题时,往往都是对整棵树进行处理,或者每次询问都对一个点、点对进行处理,这类题型一般都可以通过dp、树剖解决;然而,有一类问题要求我们每次对树上一些关键点进行处理。这类问题的特点就是询问次数多,而询问的点的总数不多。可如果我们每次都把整棵......
  • office学习笔记
    目录Excel函数使用VLOOKUP制作四象限图wordPowerPointExcel函数使用VLOOKUP使用说明:https://support.microsoft.com/zh-cn/office/vlookup-函数-0bbc8083-26fe-4963-8ab8-93a18ad188a1功能:需要在表格或区域中按行查找内容时,请使用VLOOKUP。说明:在这一最简单的形式中,VLOOK......