1. 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已经在正常运行了。

  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中配置,如图所示

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

最新文章

  1. Life Is A Funny Proposition After All
  2. webpack中字体配置,可以引入bootstrap
  3. 《java JDK7学习笔记》之跨平台与路径设置
  4. 在Salesforce中通过编写C#程序调用dataloadercliq的bat文件取触发调用data loader来批量处理数据
  5. SqlServer Link 链接服务器的使用
  6. AppStore 沙箱环境的测试流程
  7. ArcGIS学习记录—ArcGIS ArcMap编辑状态中线打断的问题
  8. UItextField常用方法
  9. char和int的转换
  10. mongodb查询分页优化
  11. FTP上传文件时 System.Net.WebException: 基础连接已经关闭: 接收时发生错误。
  12. Cg(C for Graphic)标准函数库之数学函数与几何函数
  13. 夜神模拟器与HBuilder连接/cmd运行提示符/执行夜神模拟器命令/执行HBuilder命令
  14. PuTsangTo-单撸游戏开发02 测试场景与单轴移动
  15. 【NOIP2015提高组】跳石头
  16. myeclipse自动添加注释
  17. LeetCode 176. 第二高的薪水(MySQL版)
  18. Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding)
  19. Java RMI与RPC的区别
  20. excel文字格式设置

热门文章

  1. JAVA设计模式之工厂方法模式
  2. Git服务器、http协议及XCode
  3. Python TCP客户端
  4. backbone.js学习笔记
  5. 深入理解JS异步编程二(分布式事件)
  6. vagrant系列教程(三):vagrant搭建的php7环境(转)
  7. ios block和函数的区别
  8. python(第五步django)
  9. HTML标签CSS默认值研究
  10. Android菜鸟成长记2-内部类