奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 83 页

PDF 物理页索引 99 · 第3章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
83
PDF 物理页
99(从 0 开始)
章节
第3章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
8192f11672cff79dddbedadf736225452179bc7aafb16af939f5a44599996cd0

(1)主节点Nimbus运行在Master环境中,是无状态的,负责全局的资源分配、任务调度、状态监控和故障检测。一方面,主节点Nimbus接收客户端提交来的任务,验证后分配任务到从节点Supervisor上,同时把该任务的元信息写入ZooKeeper目录中;另一方面,主节点Nimbus需要通过ZooKeeper实时监控任务的执行情况。当出现故障时进行故障检测,并重启失败的从节点Supervisor和工作进程Worker。

(2)从节点Supervisor运行在 Slaves环境中,也是无状态的,负责监听并接受来自主节点Nimbus所分配的任务,并启动或停止自已所管理的工作进程Worker。其中,工作进程Worker负责具体任务的执行。一个完整的任务拓扑往往由分布在多个从节点Supervisor上的Worker进程来协调执行,每个Worker都执行且仅执行任务拓扑中的一个子集。在每个Worker内部会有多个Executor,每个Executor对应一个线程。Task负责具体数据的计算,即用户所实现的Spout/Blot实例。每个Executor会对应一个或多个Task,因此系统中Executor的数量总是小于等于Task的数量。

ZooKeeper是一个针对大型分布式系统的可靠协调服务和元数据存储系统。通过配置ZooKeeper集群,可以使用ZooKeeper系统所提供的高可靠性服务。Storm系统引入ZooKeeper,极大地简化了Nimbus、Supervisor、Worker之间的设计,保障了系统的稳定性。ZooKeeper在Storm系统中具体实现了以下功能:

①存储客户端提交任务拓扑信息、任务分配信息、任务的执行状态信息等,便于主节点Nimbus监控任务的执行情况。

②存储从节点Supervisor、工作进程Worker的状态和心跳信息,便于主节点Nimbus监控系统各节点的运行状态。

③存储整个集群的所有状态信息和配置信息,便于主节点Nimbus监控ZooKeeper集群的状态。在主ZooKeeper节点挂掉后,可以重新选取一个节点作为主ZooKeeper节点,并进行恢复。

第3章 数据

83