Hadoop常用参数调优

一、HDFS

hdfs-site.xml

<!-- NameNode有一个工作线程池,用来处理不同DataNode的并发心跳以及客户端并发的元数据操作。对于大集群或者有大量客户端的集群来说,通常需要增大参数-->
<property>
  <name>dfs.namenode.handler.count</name>
  <value>10</value>
  <description>The number of server threads for the namenode.</description>
</property>

经验公式

dfs.namenode.handler.count=20 * log2(Cluster Size) ,

比如集群规模为8台时,此参数设置为20 * log2(8) = 60

二、Yarn

当集群内存占用率是50%左右,但是任务跑的很慢,高峰期还会挂掉,一般是内存利用率不高可从以下参数着手

yarn-site.xml

<!-- 表示该节点上YARN可使用的物理内存总量-->
  <property>
    <description>Amount of physical memory, in MB, that can be allocated 
    for containers.</description>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8192</value>
  </property>
<!-- 单个任务可申请的最多物理内存量-->
  <property>
    <description>The maximum allocation for every container request at the RM,
    in MBs. Memory requests higher than this will throw a
    InvalidResourceRequestException.</description>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>8192</value>
  </property>

三、Hadoop宕机

3.1MR造成系统宕机

此时要控制Yarn同时运行的任务数,和每个任务申请的最大内存,即yarn.scheduler.maximum-allocation-mb。

3.2因为写入文件过多NameNode宕机

启用Kafka,调高Kafka的存储大小,控制从Kafka到HDFS的写入速度。

posted @ 2020-03-26 21:25  可以看看你胖次吗  阅读(273)  评论(0编辑  收藏  举报
Live2D