Drill-On-YARN

1. Drill-On-YARN介绍

  1. 功能
    • 启动
    • 停止
    • 扩容
    • 缩容
    • failover
  2. 启动流程
    • 下载drill的社区包,进行必要的配置,执行drill-on-yarn.sh start命令,启动drill-on-yarn客户端
    • 客户端
      • 上传drill的社区包到文件系统(如:hdfs)
      • 设置启动AM上下文,包括环境、命令、资源
      • 提交应用,启动RM
    • RM从NM中请求一个容器,启动AM,启动流程
      • 将文件系统(hdfs)中的drill的社区包下载到本地,并自动解压
      • 执行设置的命令,启动AM
    • AM和RM协商资源,当协商到资源时(即分配到容器)
      • 设置容器启动的上下文,包括环境、命令、资源,然启动容器,启动流程
        • 将文件系统(hdfs)中的drill的社区包下载到本地,并自动解压
        • 执行启动drillbit的命令,启动drill
  3. 停止
    • 优雅停止:取消所有任务(pending、requesting、running) -> stop容器 -> 停止NMClient -> unregisterApplicationMaster -> 停止AMRMClient
    • 强行停止: yarn客户端直接杀死应用 yarnClient.killApplication
  4. 扩容:重新执行一次请求容器,当集群中没有可用资源时,会一直处于等待
  5. 缩容:在已经启动的容器中,随机选一个,执行stop
  6. failover:当已经启动容器结束时(有很多原因,比如:drill退出),会尝试重新发起容器请求(有重试次数限制、不一定在原地重启拉起)

2. 启动流程

启动流程

启动流程

3. 其他功能

其他功能

猜你喜欢

转载自my.oschina.net/u/554140/blog/1785911