Storm启动流程简介
- storm启动流程
storm是一个流行的开源的,分布式实时处理框架,关于storm的基本介绍可以参加这篇官方文档。大致的拓扑结构如图所示:
其中Nimbus是一个后台管理进程,运行在master node上。Supervisor也是后台进程,运行在work node上。依据上图,Nimbus和Supervisor不直接通信,通过zookeeper进行通信。在Master Node上,可以通过storm nimbus命令来启动nimbus进程,同时通过storm ui来启动ui进程,这样通过浏览器就能实时监控和管理storm集群,通过浏览器进入 masterNodeIp:8080能看到这样的画面
可见现在的集群上已经有一个topology,有两个Supervisor进程。但是这并不意味着topology已经在正常运行了。 - topology启动流程
一般情况下,当master node上nimbus已经启动,worker node上的Supervisor已经启动以后。我们可以在master node上通过storm jar yourApp.jar youAppClasName arg1 arg2 ..命令来提交topology并启动。这个是时候nimbus主要完成两件事:
1. 找到集群中所有的worknode结点,分配任务。
2. 把jar包分发到worknode上,通知Supervisor启动worknode上的worker process。
在这个过程中,所有的日志都会打印到nimbus.log上。日志路径默认是是$STORM_HOME/log,如果需要更改日志路径和其他,需要配置$STORM_HOME/logback/cluster.xml。
当worker node上的nimbus进程会去一个文件夹读取nimbus分发的jar包,并且启动worker process,目录的是$storm.local.dir/supervisor/stormdist/,其中$storm.local.dir在storm.yaml中配置,如图所示
其中test901是我的topology的名称,后面的一串数据,相当于一个unique id。多数启动中的错误都是在这个过程中出现的,一定要观察log目录下的Supervisor.log文件。如果启动成功,会在log文件夹下出现worker-****.log类型的文件,恭喜你,你的topology顺利的跑起来了。
Storm启动流程简介的更多相关文章
- storm启动流程
email:chenguibin2004@126.com storm: 是一个分布式的实时流式计算框架,具有低延迟.高可用.分布式.可扩展.数据不丢失的特点, storm包含四个核心组件: Nimbu ...
- 高通msm8994启动流程简介
处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexa ...
- Spring启动过程分析】(1)启动流程简介
1. spring简介 spring的最基本的功能就是创建对象及管理这些对象之间的依赖关系,实现低耦合.高内聚.还提供像通用日志记录.性能统计.安全控制.异常处理等面向切面的能力,还能帮我们管理最头疼 ...
- Storm启动流程分析
1. 客户端运行storm nimbus时,会调用storm的python脚本,该脚本中为每个命令编写一个方法,每个方法都可以生成一条相应的java命令. 命令格式如下:java -server xx ...
- Storm集群启动流程分析
Storm集群启动流程分析 程序员 1.客户端运行storm nimbus时,会调用storm的python脚本,该脚本中为每个命令编写了一个方法,每个方法都可以生成一条相应的Java命令. 命令格式 ...
- Linux内核启动流程(简介)
1. vmlinux.lds 首先分析 Linux 内核的连接脚本文件 arch/arm/kernel/vmlinux.lds,通过链接脚本可以找到 Linux 内核的第一行程序是从哪里执行的: 第 ...
- Storm学习笔记——简介
1. 简介 流式计算的历史 早在7.8年前诸如UC伯克利.斯坦福等大学就开始了对流式数据处理的研究,但是由于更多的关注于金融行业的业务场景或者互联网流量监控的业务场景,以及当时互联网数据场景的限制,造 ...
- [转】:HTTP请求流程(一)----流程简介
http://www.cnblogs.com/stg609/archive/2008/07/06/1236966.html HTTP请求流程(一)----流程简介 最近一直在研究如何让asp.net实 ...
- Linux的启动流程以及GRUB详解
一.Linux引导和启动流程 概述,计算机电源接通后通过BISO之后,没有问题,就会去硬盘上找到MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区, ...
随机推荐
- [转]CABasicAnimation用法
CABasicAnimation用法 CABasicAnimation 自己只有三个property fromValue toValue ByValue 当你创建一个 CABasicAni ...
- Spark SQL External Data Sources JDBC官方实现写测试
通过Spark SQL External Data Sources JDBC实现将RDD的数据写入到MySQL数据库中. jdbc.scala重要API介绍: /** * Save this RDD ...
- FW: javascripts 要不要加引号
Javascript编程风格 http://www.ruanyifeng.com/blog/2012/04/javascript_programming_style.html 作者: 阮一峰 日期: ...
- (转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html)WebWork深入浅出
(转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html) WebWork深入浅出 本文发表于<开源大本营> 作者:钱安 ...
- the philosophy behind of the design of the STL
The concept of STL is based on a separation of data and operations. The data is managed by container ...
- Remark
// create by kim 20140805 public void Remark_insertChangeHeader(Editor e) { userinfo userInfo; ; e.u ...
- 实现Base64加密解密
using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...
- SQL笔记 [长期更新] (-2015.4)
[遍历所有表,复制表结构,复制表数据] --插入语句SELECT * INTO A FROM B 是在还没有A表的情况下,直接通过B表创建并把B表数据复制到A表里面,之后A,B表的结构和数据完全一样. ...
- js复制input 框中的值
function copy(){ var Url2=document.getElementById("copyValue"); Url2.select(); document.ex ...
- Inside The C++ Object Model - 02
前言 - 什么是C++对象模型 C++对象模型包括2个方面的含义: 1.语言中直接支持面向对象程序设计的部分 2.对于各种(面向对象)支持的底层实现机制. 无论是什么语言,都需要转换为汇编.很多面向对 ...