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

  • 目录
    • 前言:
    • 1、Storm 任务提交的过程
    • 2、Storm相关的目录树
    • 总结:

目录

前言:

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

1、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 zookeeper目录树
这里写图片描述

总结:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Adobe InDesign CS6中文版经典教程》—第1课1.5节修改文档的缩放比例

本节书摘来自异步社区《Adobe InDesign CS6中文版经典教程》一书中的第1课1.5节修改文档的缩放比例,作者【美】Adobe公司,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.5 修改文档的缩放比例Adobe InDesign CS6中文版经典教程InDesign中的控件让用户能…

随机生成一定范围的随机数

function randomNum(min,max) { return Math.ceil(Math.random()*(max-min)min); } min,max最小最大范围数字。转载于:https://www.cnblogs.com/kingzlz/p/6229586.html

【python】Flask视图

2.1 从 Hello World 开始 Flask程序运行过程: 所有Flask程序必须有一个程序实例。 Flask调用视图函数后,会将视图函数的返回值作为响应的内容,返回给客户端。一般情况下,响应内容主要是字符串和状态码。 当客户端想要获取资源…

大数据之Kafka入门简介

目录前言:1、Kafka是什么2、JMS是什么3、Kafka核心组件(重点)总结: 目录 前言: 作为流式计算中的一个组件,对于它的组成以及运行的原理,学习者也需要相关的了解。以下主要简单介绍了kafka是什…

oracle的安装与plsql的环境配置

1,首先得有oracle的安装包和plsql的安装包,安装包地址可见百度云 http://pan.baidu.com/s/1miTqhmg 2.解压下来进入0817账套,找到set.exe文件,双击安装即可 注意的是安装的时候有两个目录是要自己创建的,否则安装不成功…

如何在Docker容器中运行GUI程序

如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序。我们可以轻易地在Docker容器中运行大多数GUI程序且不出错。Docker是一个开源项目,提供了一个打包、分发和运行任意程序的轻量级容器的开放平台。它没有语言支持、框架或…

【python】Get与Post的区别?(面试官最想听到的答案)

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出…

大数据之Kafka集群安装及简单使用

目录1、Kafka集群部署2、Kafka常用操作命令 目录 1、Kafka集群部署 1.1、下载安装包 http://kafka.apache.org/downloads.html 在linux中使用wget命令下载安装包 wget http://mirrors.hust.edu.cn/apache/kafka/0.8.2.2/kafka_2.11-0.8.2.2.tgz 1.2、解压安装包 tar -z…

Python爬虫入门之Urllib库的基本使用

那么接下来,小伙伴们就一起和我真正迈向我们的爬虫之路吧。 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的&#xf…

【python】hashlib.shasha256练习注册 --笔记

用户注册和登录import csv import hashlib#注册将用户信息填写到csv文件中 def register():username input(用户名:)password input(密码:)user []user.append(username)user.append(hashlib.sha256(password.encode(utf-8)).hexdigest())with open(t2/users.csv, a, newlin…

《3ds Max疯狂设计学院》——1.6节3ds Max 2016新增的主要功能

本节书摘来自异步社区《3ds Max疯狂设计学院》一书中的第1章,第1.6节3ds Max 2016新增的主要功能,作者 曹茂鹏,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.6 3ds Max 2016新增的主要功能1.Max Creation Graph3ds Max…

大数据之Kafka内部原理详细介绍

目录前言:1、Kafka整体结构2、Consumer与topic关系3、Kafka消息的分发4、Consumer的负载均衡5、kafka文件存储机制总结: 目录 前言: 本篇文章所介绍的内容还是以了解为主,主要目的还是为了对Kafka有一个更深入的理解。主要介绍…

【python】urllib和urllib3,requests 简要概括---笔记

urllib和urllib3,requestsurl:协议://存放资源的地址(域名)/具体的资源https://bj.lianjia.com/zufang/dghfjhsjdf648.htmlurllib.request 用来发出请求urllib.parseurllib.request.urlopen(str) --->response对象request urllib.reques…

JS与APP原生控件交互

“热更新”、“热部署”相信对于混合式开发的童鞋一定不陌生,那么APP怎么避免每次升级都要在APP应用商店发布呢?这里就用到了混合式开发的概念,对于电商网站尤其显得重要,不可能每次发布一个活动,都要发布一个现版本&a…

《脱颖而出——成功网店经营之道》一2.6 连横:返利模式的应用及分销

本节书摘来异步社区《脱颖而出——成功网店经营之道》一书中的第2章,第2.6节,作者: 何小健 责编: 赵轩, 更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.6 连横:返利模式的应用及分销 脱颖而出——成功网店…

【python】os模块 递归删除文件夹所有文件 --笔记

os.environ 获取系统的环境变量 os.name nt -- windows \r\n | posix --- Linux \nos.path: import osprint(os.environ) print(os.environ[OS])print(os.path.abspath(t1/file01.py)) # 获取绝对路径 print(os.path.isabs(t1/file01.py)) # 判断所给的路径是否是一个绝对…

大数据之Spark集群安装及简单使用

目录1、Spark集群安装1.1. 安装 2、启动Spark Shell2.1、启动spark shell2.2、在spark shell中编写WordCount程序 目录 1、Spark集群安装 1.1. 安装 1.1.1. 机器部署 准备两台以上Linux服务器,安装好JDK1.7 1.1.2. 下载Spark安装包 下载地址:ht…

《C和C++代码精粹》——1.7 类型安全I/O

本节书摘来自异步社区出版社《C和C代码精粹》一书中的第1章第1.7节,作者: 【美】Chuck Allison,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.7 类型安全I/O C和C代码精粹当然每个C程序员都曾经使用过printf的错误格式描述符号。…

大数据之Spark简介及RDD说明

目录前言:1、Spark概述1.1、什么是Spark(官网:http://spark.apache.org)1.2、为什么要学Spark1.3、Spark特点 2、RDD概述2.1、什么是RDD2.2、RDD的属性2.3、创建RDD的两种方式2.4、RDD编程API2.5、RDD的依赖关系2.6、RDD的缓存2.7…

Python3中urlopen()详解

一. 简介 urllib.request.urlopen()函数用于实现对目标url的访问。 函数原型如下:urllib.request.urlopen(url, dataNone, [timeout, ]*, cafileNone, capathNone, cadefaultFalse, contextNone)  url: 需要打开的网址 data:Post提交的数据 timeo…