{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title":"人工智能与大数据技术导论","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787302517986","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","uuid":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title":"人工智能与大数据技术导论","normalized_title":"人工智能与大数据技术导论","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787302517986","isbns":["9787302517986"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":490,"navigation_url":"https://workshop.closeclaw.top/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title_url":"https://workshop.closeclaw.top/ai/title/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%8A%80%E6%9C%AF%E5%AF%BC%E8%AE%BA","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","page_url":"https://workshop.closeclaw.top/api/ai/books/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page","search_url":"https://workshop.closeclaw.top/api/ai/books/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/search"},"page":{"printed_page":83,"pdf_page":99,"physical_index":99,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"8192f11672cff79dddbedadf736225452179bc7aafb16af939f5a44599996cd0"},"chapter":"第3章","content":"(1）主节点Nimbus运行在Master环境中，是无状态的，负责全局的资源分配、任务调度、状态监控和故障检测。一方面，主节点Nimbus接收客户端提交来的任务，验证后分配任务到从节点Supervisor上，同时把该任务的元信息写入ZooKeeper目录中；另一方面，主节点Nimbus需要通过ZooKeeper实时监控任务的执行情况。当出现故障时进行故障检测，并重启失败的从节点Supervisor和工作进程Worker。\n\n(2)从节点Supervisor运行在 Slaves环境中，也是无状态的，负责监听并接受来自主节点Nimbus所分配的任务，并启动或停止自已所管理的工作进程Worker。其中，工作进程Worker负责具体任务的执行。一个完整的任务拓扑往往由分布在多个从节点Supervisor上的Worker进程来协调执行，每个Worker都执行且仅执行任务拓扑中的一个子集。在每个Worker内部会有多个Executor，每个Executor对应一个线程。Task负责具体数据的计算，即用户所实现的Spout/Blot实例。每个Executor会对应一个或多个Task，因此系统中Executor的数量总是小于等于Task的数量。\n\nZooKeeper是一个针对大型分布式系统的可靠协调服务和元数据存储系统。通过配置ZooKeeper集群，可以使用ZooKeeper系统所提供的高可靠性服务。Storm系统引入ZooKeeper，极大地简化了Nimbus、Supervisor、Worker之间的设计，保障了系统的稳定性。ZooKeeper在Storm系统中具体实现了以下功能：\n\n①存储客户端提交任务拓扑信息、任务分配信息、任务的执行状态信息等，便于主节点Nimbus监控任务的执行情况。\n\n②存储从节点Supervisor、工作进程Worker的状态和心跳信息，便于主节点Nimbus监控系统各节点的运行状态。\n\n③存储整个集群的所有状态信息和配置信息，便于主节点Nimbus监控ZooKeeper集群的状态。在主ZooKeeper节点挂掉后，可以重新选取一个节点作为主ZooKeeper节点，并进行恢复。\n\n第3章 数据\n\n83","previous_page":82,"next_page":84}