storm系统架构学习
Storm架构如下图所示:
1、主控节点(Master Node)
运行Storm nimbus后台服务的节点(Nimbus),它是storm系统的中心,负责接收用户提交的作业(如同spark submit一样 即为jar包形式保存的topology代码),通过Zookeeper向每个工作节点分配处理任务(有进程级的也有线程级别的)
2、工作节点(Work Node)
运行Storm supervisor后台服务的节点。用来监听nimbus分配的任务并下载作业副本,启动、暂停或撤销任务的工作进程及其线程。其中工作进程执行指定topology的子集,而同一个topology可以由多个工作进程完成;一个工作进程由多个工作线程组成,工作线程是spout/bolt的运行时实例,数量是由spout/bolt的数目及其配置确定。
3、控制台节点(Web console Node)
运行storm UI后台服务的节点。实际上是一个Web服务器,在指定端口提供页面服务。用户可以通过使用浏览器访问控制台节点的Web页面,提交、暂停和撤销作业,也可以以只读的形式获取系统配置、作业及各个组件的运行时状态。(如果需要实现作业的管理,Storm UI须和Storm nimbus部署在同一台机器上,UI进程会检查本机是否存在nimbus的连接,若不存在可导致UI部分功能无法正常工作.)
4、协调节点(Coordinate Node)
运行Zookeeper进程的节点,numbus和supervisor之间所有的协调,包括分布式状态维护和分布式配置管理,都是通过该协调节点实现的。
作业提交:
1、首先,如同spark-submit执行一样,将作业达成jar包,通过Storm的客户端命令或者控制台节点的Web接口,提交至Storm系统的主控节点。
2、主控节点根据系统的全局配置和作业中的局部配置,将接受的代码分发至调度的工作节点。
3、工作节点下载来自主控节点的代码包,并根据主控节点的调度生成相关的工作进程和线程。
storm系统架构学习的更多相关文章
- 列式存储hbase系统架构学习
一.Hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...
- Storm系统架构以及代码结构学习
转自:http://blog.csdn.net/androidlushangderen/article/details/45955833 storm学习系列:http://blog.csdn.net/ ...
- 千万pv大型web系统架构,学习从点滴开始
架构,刚开始的解释是我从知乎上看到的.什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像.更抽象一点,说架构其 ...
- 学习笔记TF048:TensorFlow 系统架构、设计理念、编程模型、API、作用域、批标准化、神经元函数优化
系统架构.自底向上,设备层.网络层.数据操作层.图计算层.API层.应用层.核心层,设备层.网络层.数据操作层.图计算层.最下层是网络通信层和设备管理层.网络通信层包括gRPC(google Remo ...
- 深度学习利器: TensorFlow系统架构及高性能程序设计
2015年11月9日谷歌开源了人工智能平台TensorFlow,同时成为2015年最受关注的开源项目之一.经历了从v0.1到v0.12的12个版本迭代后,谷歌于2017年2月15日发布了TensorF ...
- Ambari深入学习(I)-系统架构
Ambari是hadoop分布式集群配置管理工具,是由hortonworks主导的开源项目.它已经成为apache基金会的孵化器项目,已经成为hadoop运维系统中的得力助手,引起了业界和学术界的关注 ...
- Windows Internals学习笔记(二)系统架构
参考资料: 1. <Windows Internals> 2. http://bestcbooks.com 3. Windows Drive Kit 4. Microsoft Window ...
- iOS学习笔记(三)——iOS系统架构
iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch l ...
- ROS学习笔记二:ROS系统架构及概念
本文主要是了解ROS的系统架构.文件夹结构以及工作所需的核心文件. ROS系统架构主要被设计和划分为三部分,每一部分代表一个层级的概念:文件系统级(The filesystem level).计算图级 ...
随机推荐
- UVa 489 刽子手游戏
游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母则计算机会在一副"刽子手"画上填一笔,这幅画一共需要7笔就能完 ...
- JavaWeb学习记录(二十二)——模式字符串与占位符
一.Java代码案例 @Test public void test10(){ int planet=7; String event="a disturban ...
- 使用配置方式进行ssh的整合以及管理员管理的案例(二)
(续) 删除Hibernate配置文件的写法: 在applicationContext.xml中添加数据库操作的相关配置: <!-- 配置数据库连接池 --> <bean id ...
- Swiper说明及API手册说明
最近使用Swipe.js,发现中文的资料很少,试着翻译了一下.能力有限,翻译难免错漏,欢迎指出,多谢! 翻译自:http://www.idangero.us/sliders/swiper/api.ph ...
- https那些事儿
(一)SSL/TLS协议运行机制的概述 一.作用 不使用SSL/TLS的HTTP通信,就是不加密的通信.所有信息明文传播,带来了三大风险. (1) 窃听风险(eavesdropping):第三方可以获 ...
- C# App.config 自定义 配置节 报错“配置系统未能初始化” 解决方法
App.config,结果运行的时候出现了 "配置系统未能初始化" 的错误.找了半天才发现是下面的原因造成的: "如果配置文件中包含configSections元素,则c ...
- C++@语句块
#include <iostream> using namespace std; int main() { { int x=1; cout << x << endl ...
- some knowledge of maven {maven实战}
maven是跨平台的,不仅是一个构建工具,也是一个可以管理依赖的工具.它最大化的消除了构件的重复,并且提供了中央仓库,能帮我们自动下载构件.------------------------------ ...
- php 代码大全
1.子类访问父类静态方法 <?php class A{ static function loadById(){ $class_name = get_called_class(); $model ...
- springVS javaee
https://stackoverflow.com/questions/4490682/difference-between-java-ee-and-spring-framework https:// ...