hadoop配置优化

##磁盘空间占用

防止hdfs文件占用全部磁盘空间,在hdfs-site.xml中配置dfs.datanode.du.reserved:预留磁盘空间,详情请参考hadoop预留空间配置方法

 
    dfs.datanode.du.reserved
    10737418240
 

##yarn vcore和memory错误

修改yarn-site.xml
yarn.nodemanager.resource.cpu-vcores: 表示该节点上YARN可使用的虚拟CPU个数,默认是8,注意,目前推荐将该值设值为与物理CPU核数数目相同。如果你的节点CPU核数不够8个,则需要调减小这个值,而YARN不会智能的探测节点的物理CPU总数。

  
    yarn.nodemanager.resource.cpu-vcores
    4
  

修改capacity-scheduler.xml
DominantResourceCalculator按照所有的节点计算内存

  
    yarn.scheduler.capacity.resource-calculator
    org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
  

###hadoop工作模式

hadoop三种任务执行方式
FIFO (默认) 先进先出,一次只执行一个任务。
FAIR 公平调度,多个任务平分资源
capacity 容量调度,同一队列下任务为FIFO模式

####公平模式配置

具体配置项含义参考yarn中资源调度fair schedule详解
修改队列方式yarn-site.xml

  
    yarn.resourcemanager.scheduler.class
    org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
  
  
  
    yarn.scheduler.fair.preemption
    true
  
  
  
    yarn.scheduler.fair.allow-undeclared-pools
    true
  

新建fair-scheduler.xml文件,具体配置项参考Fair Scheduler相关参数yarn fair-scheduler 公平调度的一个实例
fair-scheduler.xml修改后执行命令生效,可以不用重启yarn集群

yarn rmadmin -refreshQueues
或
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh start resourcemanager

####容量模式配置

修改队列方式yarn-site.xml

  
    yarn.resourcemanager.scheduler.class
    org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
  

队列配置



  yarn.scheduler.capacity.root.queues
  default,sparksql




  yarn.scheduler.capacity.root.default.capacity
  70




  yarn.scheduler.capacity.root.sparksql.capacity
  30



  yarn.scheduler.capacity.root.sparksql.maximum-capacity
  100



  yarn.scheduler.capacity.root.default.user-limit-factor
  1




  yarn.scheduler.capacity.root.sparksql.state
  RUNNING



  yarn.scheduler.capacity.root.sparksql.acl_submit_applications
  *



  yarn.scheduler.capacity.root.sparksql.acl_administer_queue
  *

capacity-scheduler.xml修改后执行命令

yarn rmadmin -refreshQueues
或
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh start resourcemanager

你可能感兴趣的:(hadoop,大数据)