hadoop使用公平调度器

总计写在前面,请使用公平调度器!!!

我根据时间节点来梳理一下发生了什么。

Stage 1(默认调度器)

        大概在几年前,搭建的数仓集群中。数据量不大,做离线一个晚上就能轻松调度完,那时候使用的hadoop自带的调度器,容量调度器。但默认配置没有改,就会发生什么!

        root主leaf下面只有default。虽然是容量调度器,但运行起来就是一个fifo。

Stage 2(容量调度器)

        过了几个月,随着调度增加。发现不对劲了!我集群的资源没有用上啊。就增加了调度队列,比如说root主leaf下有个hive主leaf下面两个队列hive1和hive2,还有个kylin队列,flink队列等。。。这些都是在$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml 里面配置的,我不过多描述了,不会配置的朋友网上搜索一下。

Stage 3(公平调度器)

        大概过了一年以后,我无论怎么优化,优化数据库,采集,代码等。发现不尽人意,资源还是没完全利用起来,这个时候我发现了容量调度器本身就存在缺陷。就开始启用公平调度器。在简单的配置下,测试了一下。我测试的hadoop自带的hadoop-mapreduce-examples-2.7.2.jar,这可是hadoop自带的程序。几个窗口同时运行,发现速度极快而且几乎同时完成。于是,就改用公平调度器!

        修改yarn-site.xml:

        添加如下:


        yarn.resourcemanager.scheduler.class
        org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
        set fair sch
    

        然后在$HADOOP_HOME/etc/hadoop下面新建fair-scheduler.xml文件,里面的内容为,可以自己修改:







    fair

    
        50
    

    
        50
    
	
	
        50
    

    
        
        
        
    

重启yarn。

完成,可以去hadoop页面查看!

你可能感兴趣的:(kylin,hadoop,hadoop,大数据,分布式)