Skip to content

Instantly share code, notes, and snippets.

@hex108
Last active October 31, 2015 03:25
Show Gist options
  • Save hex108/0194249d53d82c690088 to your computer and use it in GitHub Desktop.
Save hex108/0194249d53d82c690088 to your computer and use it in GitHub Desktop.

通过一些问题引导读者了解、熟悉YARN,主要分为以下几大块:

#1. RM

##调度器 内容:FariScheduler, 调度器性能,SLS,Ganglia, 队列,抢占,调度原理, node label

问题1. 怎么保证用户的最低资源使用量

问题2. 如果集群中有多余的资源,已达到最低资源使用量的用户是否可以使用这些资源,此时如果有别的队列有app请求资源并且该队列没有达到最低资源使用量,如何处理

问题3. 怎么测试调度器的性能,怎么查找性能瓶颈在哪

问题4. 如何优化调度器的性能

问题5. 如何使用分布式监控系统Ganglia监控RM是否正常和RM性能

问题6. 如何通过node label做资源隔离

##RM HA 内容:Zookeeper(原子操作、临时节点、watcher、ZK配置),Leader选举,Fence机制,RM状态存储机制、恢复与优化

问题1. RM recover时间过长时,会导致RM误以为AM超时(YARN-3094)

问题2. 在有些情况下NM可以避免重复的上报container信息(YARN-2617)

问题3. 不要在Znode上设置不必要的watcher(YARN-3469)

问题4. 存储的APP和attempt数太多时,会导致ZK连接异常

问题5. 存储的APP和attempt数太多时,会导致RM恢复时间过长(YARN-3480)

问题6. 如果所有RM都挂了,如何让集群不受影响地继续运行

问题7. 只保存APP/Attempt的状态是否是足够的 (YARN-3161) 由此问题可以引出NM restart的必要性

#2. NM

##资源控制 内容:CPU、内存、磁盘、管理控制,cgroups

问题1. 如何为NM增加一个新的资源维度管理(YARN-4122)

##NM restart 内容:LevelDB,NM状态存储机制、恢复与优化

问题1. 当NM中增加一个新的状态需要存储和恢复时,如何实现

#3. YARN对Docker的支持 内容:Docker,AM

问题1. 如何编写一个新的AM支持Docker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment