导航

  • ​​hadoop 面试​​
  • ​​yarn 调度器​​
  • ​​3类调度器区别​​
  • ​​常见问题​​

hadoop 面试

​​链接​​

yarn 调度器

yarn 调度器分为3类

  1. FIFO(先进先出调度器)
  2. Capacity Scheduler(容量调度器)
  3. Fair Sceduler(公平调度器)

cdh-hadoop2.7.2 ​​默认的资源调度器​​是 公平调度器

apache 和 hdp ​​默认的资源调度器​​是 容量调度器

3类调度器区别

​简单介绍​​ FIFO调度器:先进先出,同一时间队列中只有一个任务在执

容量调度器:多队列;队列资源分配,优先选择资源占用率最低的队列分配资源;作业资源分配,按照作业的优先级和提交时间顺序分配资源;容器资源分配,本地原则(同一节点/同一机架/不同节点不同机架)
​​​适用于中小型公司,对并发度要求不高​

公平调度器:多队列;保证每个任务公平享有队列资源。资源不够时可以按照缺额分配
​​​适用于大型公司,对并发度要求高​

常见问题

问题1:集群有30台机器,跑mr任务的时候发现5个map任务全都分配到了同一台机器上,这个可能是由于什么原因导致的吗?

解决方案:yarn.scheduler.fair.assignmultiple 是否允许NodeManager一次分配多个容器 这个参数 默认是开的,需要关掉

在生产环境怎么创建队列?

  1. 按照部门:业务部门1、业务部门2
  2. 按照业务模块:登录注册、购物车、下单
  3. 按照框架:hive /spark/ flink 每个框架的任务放入指定的队列(企业用的不是特别多)

创建多队列的好处?

  1. 实现任务的降级使用,特殊时期保证重要的任务队列资源充足
业务部门1(重要)=>业务部门2(比较重要)=>下单(一般)=>购物车(一般)=>登录注册(次要)
  1. 因为担心员工不小心,写递归死循环代码,把所有资源全部耗尽。