目录

前言:

对于任何一个组件来说,了解它相关的任务提交的过程是非常有必要的(毕竟生产中遇到一些Bug时,你如果知道内部执行的过程,那么会对问题的解决会有很大的帮助)。除此之外还会对Storm相关的目录树进行一个简单的介绍,主要是为了了解下在任务提交过程中一些数据的存储过程。博主也是小菜鸟一枚,如有错误或不足,请各位及时指出,必当及时修正。

1、Storm 任务提交的过程

任务提交详细过程如下图所示:
Storm任务提交过程及目录树介绍

过程总结:
1、客户端提交topology到nimbus(提交的jar包被上传到nimbus下的inbox目录)。
2、jar包中的submitTopology方法会对topology进行一些检查处理(如bolt/spout的id是否违法,storm是否是active等),然后在nimbus服务器上建立topology本地目录进行存储(包含topology的jar包以及topology的序列化对象)
3、之后nimbus进行任务分配(根据topology定义的一些参数来对bolt/spot设定task的数量并分配对应的task-Id),将分配好的task信息发送到zookeeper(task信息包括task的心跳信息,topology的描述信息等发送到zookeeper对应的目录下);
4、supervisor定期到zookeeper相应目录下查看是否有新的任务,有的话下载下来,根据任务的描述信息启动相应的worker进行工作;
5、worker根据任务的描述信息来创建响应的网络连接来发消息。

2、Storm相关的目录树

Storm任务提交的过程(根据图中的目录信息去理解Storm相关的目录树的目录信息)
Storm任务提交过程及目录树介绍

Storm组件本地目录树
Storm任务提交过程及目录树介绍

Storm zookeeper目录树
Storm任务提交过程及目录树介绍

总结:

以上的内容主要还是以理解为主,特别是Storm任务提交的过程,需要重点关注!

相关文章:

  • 2021-06-04
  • 2021-05-27
  • 2021-11-10
  • 2021-11-24
  • 2021-07-25
  • 2021-04-27
  • 2022-12-23
猜你喜欢
  • 2021-07-07
  • 2022-01-20
  • 2021-05-06
  • 2021-10-11
  • 2021-10-31
  • 2022-01-01
  • 2021-07-30
相关资源
相似解决方案