码迷,mamicode.com
首页 > Web开发 > 详细

jstorm干货

时间:2019-09-19 22:04:26      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:detail   htm   str   nimbus   停止   维护   好的   技术   rac   

工作需要接触到jstorm JStorm集群包含两类节点:主控节点(Nimbus)和工作节点(Suprvisor)

  1. 主控节点(Nimbus)上运行Nimbus Daemon。Nimbus负责接收Client提交的Topology,分发代码,分配任务给工作节点,监控集群中运行任务的状态等工作。Nimbus作用类似于Hadoop中JobTracker。
  2. 工作节点(Supervior)上运行Supervisor D。Supervior通过subscribe Zookeeper相关数据监听Nimbus分配过来任务,据此启动或停止Worker工作进程。每个Worker工作进程执行一个Topology任务的子集;单个Topology的任务由分布在多个工作节点上的Worker工作进程协同处理。
    https://blog.csdn.net/wwwxxdddx/article/details/49978311
    Nimbus和Supervisor节点之间的协调工作通过Zookeeper实现。此外,Nimbus和Supervisor本身均为无状态进程,支持Fail Fast;JStorm集群节点的状态信息或存储在Zookeeper,或持久化到本地,这意味着即使Nimbus/Supervisor宕机,重启后即可继续工作。这个设计使得JStorm集群具有非常好的稳定性

先了解他是干什么的
分布式实时计算引擎,就是你给他数据,按照你编写的规则,他处理完
标准解释:用户按照规定的变成规范实现一个任务,将任务放到jstorm上,jstorm就将任务7*24小时调度起来
优点:开发非常迅速,容易上手,就像有水龙头 -》污水池处理 --》下游
扩展性极好,一个worker坏了调度器nimbus会马上分配另外一个
准确性比较高,采用了acker机制,保证数据不丢失,
使用场景:日志分析,管道系统,消息转化,统计分析
这几个术语要知道
角色 作用
Nimbus 调度器 分配任务的
Supervisor Worker的代理角色,负责Kill掉Worker和运行Worker 污水池处理的
Worker Task的容器 工人
Task 任务的执行者 工人
ZooKeeper 系统的协调者 系统协调者
stream 流 流是一个无间断的连续的tuple元值,
spout 原始元祖的源头,就像是水龙头,这个可能是消息中间件如MQ,Kafka,TBNofity 不间断发出消息
有了源头,有了tuple,拿着这些数据的处理过程就是Bolt
Bolt 消费任意数量的输入流,污水池 ,
技术图片
你的spout打开了,想得到那种类型的水就打开那种类型的Bolt,处理完就会再进行下一步处理或者流向别的容器
Tuple value list 值列表
Topology 有向无环图即拓扑,一个拓扑就是一个数据流转图,途中标注每一个节点是一个spout还是bolt,把元祖数据发送到那个bolt,
worker和task
worker表示一个进程,tash表示一个线程,一个进程对应多个线程,
Supervisor是JStorm中的工作节点,类似于MR的TT,subscribe zookeeper的任务调度结果数据,根据任务调度情况启动/停止工作进程Worker。同时Supervisor需要定期向zookeeper写入活跃端口信息以便Nimbus监控。Supervisor不执行具体处理工作,所有的计算任务都交Worker完成。从整个架构上看,Supervisor处在整个JStorm三级管理架构的中间环节,辅助管理任务调度和资源管理工作。
Supervisor单节点架构如上图所示,初始化时启动进程Supervisor,根据Nimbus分配的任务情况触发启动/停用Worker JVM进程,其中每个Worker进程启动一个或多个Task线程,其中Task须同属单个Topology。从整个Supervisor节点来看运行多个JVM进程,包括一个Supervisor进程和一个或多个Worker进程。
不同角色状态通过不同的方式维护。其中Task通过hb直接将包括时间信息和当前Task的统计信息写到zookeeper;Worker定期将包括Topology id,端口,Task id集合及当前时间写入本地;Supervisor定期将包括时间及节点资源(端口集合)写到zookeeper,同时从zookeeper读取任务调度结果,根据结果启动/停用Worker进程。技术图片
技术图片

记住这个图片基本上没什么打的困难了入门了就,

了解这个也得知道一个流的概念,就是水龙头 -》污水池处理 --》下游

这个链接比较形象https://www.cnblogs.com/smartloli/p/4810362.html

jstorm干货

标签:detail   htm   str   nimbus   停止   维护   好的   技术   rac   

原文地址:https://blog.51cto.com/aklaus/2439431

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!