分布式计算,Job和task
来源:互联网 发布:c语言打开文件的路径 编辑:程序博客网 时间:2024/06/08 15:35
这两个单词是计算机常引用的的单词,我自己论文中也经常混用。其具体含义还是有具体差别的,使用要准确。
From https://zhidao.baidu.com/question/445978849.html
work 工作,不可数, 表抽象的概念时用
job 工作,可数,表达具体做什么事的时候用
task 任务,可数
例句:
I love my work. 我热爱我的工作。(不能用job或task)
My job is to teach you English. 我的工作是教你们英语。 (可以换成task)
My task is to clean the room. 我的任务是打扫房间。(不能换成job)
From: http://blog.csdn.net/binling/article/details/46877301
ob是关于整个输入数据和面向整个集群(还没有分机器)的概念,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)
- 分布式计算、网格计算和云计算
- 分布式计算、网格计算和云计算
- 分布式存储和计算总结
- 分布式计算和并行计算的异同
- 分布式计算和并行计算的异同
- 分布式计算和并行计算的区别
- 科普:并行计算、分布式计算、集群计算和云计算
- 科普:并行计算、分布式计算、集群计算和云计算
- 云星数据---Scala实战系列(精品版)】:Scala入门教程033-Scala实战源码-Scala apply方法01 调用
- Ubuntu16.04配置安装darknet
- linux C 练习一
- Ceph入门—— Ceph 架构和组件
- thinkphp获取用户ip
- 分布式计算,Job和task
- 【互联网人必备】最实用的6大专业搜索工具
- insmod命令
- Cannot start compiler:the SDK specified for module "IDEA".Specify the SDK at Project Structure dial
- JS——开关门
- echarts柱状图、折线图横坐标添加滚动条方法
- RxAndroid之Rxlifecycle使用
- 拉普拉斯方程之美:万物的数学之匙
- D3.js写的标签云插件