1、集群如何启动,任务如何执行?
  java -server nimbus,supervisor
  client--->createTopology(序列化)--->提交jar到nimbusinbox--->nimibus分配任务(task总数/worker数)---写到zk。
  启动worker<----识别自己的任务<----supervisor----->watch----zk
  启动Spout/Bolt<----TaskInfo<-----worker---->task
2、集群架构中各个模块如何启动?
  nimbus:用户启动
  supervisor:用户启动
  worker:supervisor启动
  Task:worker启动
3、集群如何通信?
  集群架构中的各个模块是如何通信的?外部通信
  拓扑程序中的各个Task是如何通信的?内部通信
4、Worker与topology
  一个worker只属于一个topology,每个worker中运行的task只能属于这个topology。反之,一个topology包含多个worker,其实就是这个topology运行在多个worker上。

  一个topology要求worker数量如果不被满足,集群在分配任务时,根据现有的worker先运行topology。如果当前集群中的worker数量为0,那么最新提交的topology将只会标记active,
  不会运行,只有当集群有了空闲资源才会运行。

5、如何指定驱动类中每个组件的并发度数量?如何设置worker数量?
  1,根据上游的数据量来设置spout的并发度。
  2,根据业务复杂度和execute方法执行时间来设置bolt并发度。
  3,根据集群的可用资源来配置,一般情况下70%的资源使用率。
  4,worker的数量理论上根据程序并发度的task数据来划分,在实际业务场景中,需要反复调整。

6、ack-fail机制
  1,需要ackfail时,请为每个tuple生成一个messageId,这个messageId是用来标识你关心的tuple,当这个tuple被完全处理时,storm框架会调用spout的ack方法,否则调用fail。至于你的
  消息是否重发,完全由自己处理。
  2,在Spout有并发度的情况下,storm会根据tuple最开始的所属spout taskId,通知相应的spoutTask。
  3,在流式计算中topology的bolt组件可以配置多个的,在每个环节中,都需要bolt组件显示的高速storm框架,自己对当前接受的这个tuple处理完成。

Storm 第四章 Storm常见问题的更多相关文章

  1. Storm 第三章 Storm编程案例及Stream Grouping详解

    1 功能说明 设计一个topology,来实现对文档里面的单词出现的频率进行统计.整个topology分为三个部分: SentenceSpout:数据源,在已知的英文句子中,随机发送一条句子出去. S ...

  2. Storm入门教程 第三章Storm集群安装部署步骤、storm开发环境

    一. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...

  3. Storm 学习之路(四)—— Storm集群环境搭建

    一.集群规划 这里搭建一个3节点的Storm集群:三台主机上均部署Supervisor和LogViewer服务.同时为了保证高可用,除了在hadoop001上部署主Nimbus服务外,还在hadoop ...

  4. Storm 系列(四)—— Storm 集群环境搭建

    一.集群规划 这里搭建一个 3 节点的 Storm 集群:三台主机上均部署 Supervisor 和 LogViewer 服务.同时为了保证高可用,除了在 hadoop001 上部署主 Nimbus ...

  5. Storm 第二章 Storm安装

    1 strom集群规划 Nimbus:hadoop1 zookeeper:hadoop2,hadoop3,hadoop4 supervisor:hadoop5,hadoop6,hadoop7 安装文件 ...

  6. 深入理解Magento – 第四章 – 模型和ORM基础

    深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第四章 – 模型和ORM基础 对于任何一个MVC架构,模型(Model)层的实现都是占据了很大一部分.对于Mage ...

  7. .NET第四章总结

    .NET第四章简单总结 1.简单的获取文件路径:                    2.回车跳转控件焦点    3.*************无标题窗体拖动!!************* 1): ...

  8. Storm系列三: Storm消息可靠性保障

    Storm系列三: Storm消息可靠性保障 在上一篇 Storm系列二: Storm拓扑设计 中我们已经设计了一个稍微复杂一点的拓扑. 而本篇就是在上一篇的基础上再做出一定的调整. 在这里先大概提一 ...

  9. Storm系列二: Storm拓扑设计

    Storm系列二: Storm拓扑设计 在本篇中,我们就来根据一个案例,看看如何去设计一个拓扑, 如何分解问题以适应Storm架构,同时对Storm拓扑内部的并行机制会有一个基本的了解. 本章代码都在 ...

随机推荐

  1. QuickBI助你成为分析师-数据建模(一)

    摘要: 数据集编辑功能界面介绍以及常见问题总结. 在数据集编辑界面可以进行数据建模来更好的展示数据,创建数据集默认将数值类型字段作为度量,日期.字符串等类型作为维度,度量可以根据维度分组展示.下面来介 ...

  2. 解决由于显卡驱动BUG导致桌面右键卡顿的问题:bat文件源码

    @ ECHO OFF%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe&q ...

  3. 编程题1001.A+B Format (20)

    代码链接点击这里 由于有点久没写代码了,本次作业提交了三次才全部正解. 一开始以为是非常容易的题目,就没有带入多组数据,便以最简单的思路提交了代码. 发现了有特别多错误后,我并没有选择马上找同学帮忙, ...

  4. JDK/bin目录下的不同exe文件的用途

    新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件 ...

  5. rabbitmq的万能安装和外网访问(NC版)

    先去这个http://www.rabbitmq.com/releases/下载erlang环境和rpm(erlang的尽量高点,rabbitmq版本差不多就可以了,) erlang-19.0.4-1. ...

  6. 关于Golang中database/sql包的学习

    go-sql-driver 请求一个连接的函数有好几种,执行完毕处理连接的方式稍有差别,大致如下: db.Ping() 调用完毕后会马上把连接返回给连接池. db.Exec() 调用完毕后会马上把连接 ...

  7. 【[HNOI2016]序列】

    莫队好题啊 莫队来做这个题的难点就是考虑如何在\(O(1)\)时间内由\([l,r]\)转移到\([l,r+1]\) 显然加入\(r+1\)这个数之后会和之前所有的位置都产生一个区间,就是要去快速求出 ...

  8. Zookeeper入门(一)之概述

    今天主要讲这么几个方面? 1.分布式应用: 2.什么是Zookeeper: 3.使用Zookkeeper有什么好处: ZooKeeper是一种分布式协调服务,用于管理大型主机.在分布式环境中协调和管理 ...

  9. Docker实战(五)之端口映射与容器互联

    除了网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问. 1.端口映射实现访 ...

  10. tomcat服务器宕机解决方案

    报错信息: java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:1 ...