分布式计算,Job和task
来源:互联网 发布:网络诈骗特点有 编辑:程序博客网 时间:2024/05/29 09:37
Job是关于整个输入数据和面向整个集群(还没有分机器)的概念,task一般是处理输入数据的子集,并且和集群中的具体一台机器相联系。
Vod deploy系统的架构
cluster job 相当于job, vserver job相当于task,VodController 相当于JobTracker,VServer Com+相当于 taskTracker
输入首先是一个cluster job 的 priority queue,但默认都赋一样的优先级,退化成普通的queue,这里的queue是一个逻辑结构,实际是用数据库表实现,先后顺序用order by实现。逻辑上是每一个cluster对应一个queue,job里用clusterId指定了哪个集群
JobTracker (vodController) 负责由job 生成task,并且根据一定的策略分配节点(veserver),对于hadoop的jobTracker,首先是要对输入的大文件进行data partition,然后分给不同的task node处理i,而VOD deploy系统,task就是拷贝相同的媒体文件,没有data partition这一步。
每个task node(vserver com+)对应一个 task队列,也是逻辑上的队列,实现是所有的server的 task 都放在一个数据库表,用serverId区分,每个server用自己的serverId 取task。
taskTracker和 JobTracker之间有heartbeat,并且定时上报task进度,执行情况以及server 状态(磁盘空间,available带宽)。task Tracker服务启停会register和unregister自己。这样JobTracker知道有哪些taskTracker
当一个job 的所有task都成功结束,job才会被mark成success,可以允许partially success的状态。
hadoop 的各个组件通信都是基于RPC的,包括JobTracker和taskTracker之间也是,JobClient通过RPC向JobTracker提交job,JobTracke通过RPCr向taskTracker 分配task, taskTracker通过RPC向jobTracker汇报status,是双向RPC。
Vod deploy系统则不是直接call, 而是用的持久化队列,即把job放入队列,jobTracker定时取,牺牲了一定的即时性,好处是解耦,没有单点failure,这种自己用timer去pull的模式就是解决单点failure,因为只要有一个role负责assign、去call,这个role就是single failure point。LoadBalancer就是单点失败点,而如果改为,请求放到一个全局队列,各个web server自己去取,就没有SPF问题。
总结一下分布式计算的通用问题
1)计算节点管理(register, 心跳, membership, 用量、状态汇报)
2)JobTracker这个role,负责接收job,分成task, 分配给计算节点
3)TaskTracker 这个role代表 计算节点,
4)task的状态、进度,job的状态、进度,
3)通信问题 RPC push v.s. 每个组件配个队列,自己pull
- 分布式计算,Job和task
- 分布式计算,Job和task
- Task一个轻量级分布式任务计算系统
- Hadoop中作业(job)、任务(task)和task attempt
- scala akka 修炼之路1(使用actor实现一个job的并发计算和task失败重启)
- 分布式计算和并行计算
- Job和Task运行时信息的维护
- Job和Task运行时的信息维护
- Spark中Job、Stage和Task的关系
- 【转载】A lightweight distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
- 分布式计算、网格计算和云计算
- 分布式计算、网格计算和云计算
- 分布式存储和计算总结
- 分布式计算和并行计算的异同
- 分布式计算和并行计算的异同
- 分布式计算和并行计算的区别
- 科普:并行计算、分布式计算、集群计算和云计算
- 科普:并行计算、分布式计算、集群计算和云计算
- Android仿微信(二)——仿微信联系人 首字母分类
- C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- icvPrecalculate
- Redis作者:深度剖析Redis持久化
- vector内存机制和性能分析
- 分布式计算,Job和task
- 猜算式
- CCBPM中的消息机制,CCIM服务端安装说明
- LINQ使用连接(1、组连接 2、内连接 3、左外连接 4、交叉连接)
- Get the current user permission level on a list item with ecmascript
- java基础==面向对象 三大特性
- CT-LIBRARY error:ct_connect(): protocol specific layer: internal Client Library error: There is a td
- 矩阵乘法-1
- OIO与NIO区别