问题一:ODPS是如何进行用户认证的?
ODPS是如何进行用户认证的?
参考回答:
ODPS通过接入层的LVS实现负载均衡,将请求发送给HTTP Server。HTTP Server接收到请求后,会把AccessID和MD5签名发给云账号服务进行用户认证。认证通过后,云账号服务会返回该用户的唯一AccountID,在后续执行逻辑中,发送的请求都是包含该AccountID。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/632159
问题二:ODPS逻辑层包含哪些角色,它们各自的功能是什么?
ODPS逻辑层包含哪些角色,它们各自的功能是什么?
参考回答:
ODPS逻辑层包含Worker、Scheduler和Executor三个角色。
Worker处理所有的RESTful请求,它可以本地处理一些作业,如对用户空间、表、资源、作业等的管理;而对于需要执行分布式计算的作业,如SQL、MR等,Worker会进一步把它提交给Scheduler处理;
Scheduler负责instance的调度,它会维护一个Instance列表,并把Instance分解成各个Task,生成这些Task的工作流——DAG图(Directed Acyclic Graph,有向无环图),把可以运行的Task放到TaskPool中,TaskPool是个优先级队列,后台线程会定时对该优先级队列进行排序;此外,Scheduler还会查询计算集群的资源状况,向计算集群的Fuxi master询问资源占用情况以进行流控(Fuxi slot满的时候,停止响应Executor的task申请)。
Executor会判断自身资源情况,如CPU、内存、正在运行的Task数(不能超过上限),如果资源满足,则会主动轮询Scheduler的TaskPool请求获取下一个Task,TaskPool会根据Task的优先级和计算集群的资源情况,把相应Task提交给Executor,Executor获取到Task后,会生成计算层的分布式作业描述文件,提交给计算层,监控这些任务的运行状态,并定时把状态汇报给Scheduler。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/632161
问题三:ODPS的计算层包含哪些组件?
ODPS的计算层包含哪些组件?
参考回答:
ODPS的计算层包含飞天内核(Apsara Core),运行在和控制层相互独立的计算集群上。它包含Pangu(分布式文件系统)、Fuxi(资源调度系统)、Nuwa/ZK(Naming服务)、Shennong(监控模块)等组件。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/632164
问题四:ODPS作业元数据主要存储在什么地方?
ODPS作业元数据主要存储在什么地方?
参考回答:
ODPS作业的元数据主要存储在阿里云计算的另一个开放服务OTS(Open Table Service,开放结构化数据服务)中。元数据内容包括用户空间元数据、Table/Partition Schema、ACL、Job元数据、安全体系等。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/632166
问题五:一个ODPS作业是如何被分解成任务的?
一个ODPS作业是如何被分解成任务的?
参考回答:
当用户提交一个ODPS作业请求时,逻辑层的Scheduler负责将该作业分解成各个Task,生成DAG图,并把可以运行的Task放到TaskPool中。这些Task随后会被Executor获取并执行。一个ODPS作业可能对应一个或多个Task。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/632169