Storm启动流程简介

2019-03-02 23:47|来源: 网路

  1. storm启动流程
             storm是一个流行的开源的,分布式实时处理框架,关于storm的基本介绍可以参加这篇官方文档。大致的拓扑结构如图所示:
    storm-cluster 













         其中Nimbus是一个后台管理进程,运行在master node上。Supervisor也是后台进程,运行在work node上。依据上图,Nimbus和Supervisor不直接通信,通过zookeeper进行通信。在Master Node上,可以通过storm nimbus命令来启动nimbus进程,同时通过storm ui来启动ui进程,这样通过浏览器就能实时监控和管理storm集群,通过浏览器进入 masterNodeIp:8080能看到这样的画面YY截图20140627162814可见现在的集群上已经有一个topology,有两个Supervisor进程。但是这并不意味着topology已经在正常运行了。
  2. 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中配置,如图所示
    YY截图20140627165924


                其中test901是我的topology的名称,后面的一串数据,相当于一个unique id。多数启动中的错误都是在这个过程中出现的,一定要观察log目录下的Supervisor.log文件。如果启动成功,会在log文件夹下出现worker-****.log类型的文件,恭喜你,你的topology顺利的跑起来了。


转自:http://www.cnblogs.com/javanerd/p/3812359

相关问答

更多
  • 你好湮魂,从多个角度全面讲解Storm实时数据处理技术和最佳实践,为快速掌握并灵活应用Storm提供实用指南   从实际问题出发,系统介绍Storm的基本应用、多语言特性、完整业务系统实现和产品交付的最佳实践方法;从产品持续交付角度,分析并实践集成、测试和交付的所有步骤   《大数据技术丛书:Storm实时数据处理》涵盖搭建基于Storm的开发环境和测试实时系统的许多实用方法与实战用例,以及如何应用交付最佳实践来将系统部署至云端。
  • 当下雨的时候,风暴都到了
  • 硬盘启动流程[2023-06-26]

    通电后,磁头接收到从硬盘控制芯片上传来的第一个启动指令,然后开始读主引导扇区的初始信息,确定硬盘保留区的位置,然后读硬盘保留区,确定缺陷列表、调入校验算法公式、读入内部操作指令等等。所有这些完成了,硬盘完成初始化,正式进入工作状态。然后,硬盘开始读取引导扇区(逻辑零),确定硬盘的起点和分区表位置,读入分区表等等。 往后就是读取操作系统引导程序,XP 是NTLDR,NTLDR处理启动菜单文件boot.ini,然后执行Ntdetect.com,检测一些基本设备和配置信息,然后加载系统相应的内核和HAL文件,一般 ...
  • 先分析需求,确定要有什么功能和要求,项目不大的话可以直接编代码,如果比较的的项目最后先用UML设计下,想清楚思路再动手写,编码过程中当然也少不了单元测试,调试程序的功夫。顺便提醒一下,Android3.0现在的份额还不大,多数都是2.2版本的,1.6的也不在少数,建议如果不是需要用到3.0的功能的话最好还是基于1.6版本的开发,增加兼容性
  • 你先确认一下nimbus和supervisor进程都正常吗,然后在zookeeper上看一下这个拓扑的状态,看看是哪里出的问题
  • 1、正常安装JDK,测试JKD是否安装正常。 $ java -version 2、正常安装Python,测试Python是否安装正常。 $ python 3、正常安装Zookeeper。 $ cd apache/ $ tar -xvf zookeeper-3.4.5.tar.gz $ cd zookeeper-3.4.5/ $ mkdir data $ mkdir logs $ cd conf/ $ cp zoo_sample.cfg zoo.cfg $ vim zoo.cfg tickTime=2000 ...
  • 有本书《linux操作系统之奥秘》,有图书馆的话去借来看看。或者直接去买吧。 启动流程就是BIOS-GRUB1.5-GRUB2.0-Linux内核-各种驱动-图形界面。 原理讲不完。
  • 一些想法以及我迄今为止进行类似实验的经验(在Sprint期间在Spike中完成): 根据我的经验(我可能是错的),随着需求的增加,您不会真正旋转更多的螺栓,而是调整拓扑中每个螺栓的平行度配置。 拓扑不会通过增加更多的螺栓来缩放,而是通过增加平行度来扩展螺栓的瓶颈。 以示例字数问题为例: builder.setBolt(4, new MyBolt(), 12) .shuffleGrouping(1) .shuffleGrouping(2) .fieldsGrouping(3, new ...
  • 我遇到了同样的问题,并从storm-user邮件列表档案中找到了答案,请参阅 http://mail-archives.apache.org/mod_mbox/storm-user/201404.mbox/%3C72091F29-8109-4A1C-A79D-DDD2D871737B%40petrolink.com%3E I encountered the same problem, and found the answer from storm-user mailing list archives, re ...
  • 通过maven运行暴风雨拓扑不是要走的路。 您应该在命令行上使用bin/storm jar myJarFile.jar向集群提交拓扑(这也适用于本地模式)。 文件./target/original-storm-starter-0.11.0-SNAPSHOT.jar和./target/storm-starter-0.11.0-SNAPSHOT.jar是标准的maven工件,不能用于向集群提交拓扑。 您可以使用maven-jar-plugin (我建议您开始使用 - 您可能还需要使用maven-dependen ...