Storm 第四章 Storm常见问题
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常见问题的更多相关文章
- Storm 第三章 Storm编程案例及Stream Grouping详解
1 功能说明 设计一个topology,来实现对文档里面的单词出现的频率进行统计.整个topology分为三个部分: SentenceSpout:数据源,在已知的英文句子中,随机发送一条句子出去. S ...
- Storm入门教程 第三章Storm集群安装部署步骤、storm开发环境
一. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...
- Storm 学习之路(四)—— Storm集群环境搭建
一.集群规划 这里搭建一个3节点的Storm集群:三台主机上均部署Supervisor和LogViewer服务.同时为了保证高可用,除了在hadoop001上部署主Nimbus服务外,还在hadoop ...
- Storm 系列(四)—— Storm 集群环境搭建
一.集群规划 这里搭建一个 3 节点的 Storm 集群:三台主机上均部署 Supervisor 和 LogViewer 服务.同时为了保证高可用,除了在 hadoop001 上部署主 Nimbus ...
- Storm 第二章 Storm安装
1 strom集群规划 Nimbus:hadoop1 zookeeper:hadoop2,hadoop3,hadoop4 supervisor:hadoop5,hadoop6,hadoop7 安装文件 ...
- 深入理解Magento – 第四章 – 模型和ORM基础
深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第四章 – 模型和ORM基础 对于任何一个MVC架构,模型(Model)层的实现都是占据了很大一部分.对于Mage ...
- .NET第四章总结
.NET第四章简单总结 1.简单的获取文件路径: 2.回车跳转控件焦点 3.*************无标题窗体拖动!!************* 1): ...
- Storm系列三: Storm消息可靠性保障
Storm系列三: Storm消息可靠性保障 在上一篇 Storm系列二: Storm拓扑设计 中我们已经设计了一个稍微复杂一点的拓扑. 而本篇就是在上一篇的基础上再做出一定的调整. 在这里先大概提一 ...
- Storm系列二: Storm拓扑设计
Storm系列二: Storm拓扑设计 在本篇中,我们就来根据一个案例,看看如何去设计一个拓扑, 如何分解问题以适应Storm架构,同时对Storm拓扑内部的并行机制会有一个基本的了解. 本章代码都在 ...
随机推荐
- 编译并导入OpenSSL
编译并导入OpenSSL 1. 首先,需要运行脚本生成OpenSSL库,参考 https://github.com/x2on/OpenSSL-for-iPhone 示例 2. 运行脚本生成静态库 下一 ...
- 铁乐学python_day18-19_面向对象编程1
以下笔记绝大部分(百分之80或以上)摘自我的授课老师之一:老男孩教育中的景老师. 她上课讲的知识点由浅入深,引人入胜,听她的课完全不会感觉到困阿,而且不知不觉中就感觉掌握了. 她的博客是: http: ...
- 用yield实现python协程
刚刚介绍了pythonyield关键字,趁热打铁,现在来了解一下yield实现协程. 引用官方的说法: 与线程相比,协程更轻量.一个python线程大概占用8M内存,而一个协程只占用1KB不到内存.协 ...
- springboot+mybatis+mysql创建简单web后台项目
第一步:搭建框架 新建进入这个页面 新建名字,第一次可以默认,然后下一步 第三步:选择依赖 第四步:新建项目名和存放项目路径(你可以新建一个文件夹存放) 点击finish,首次创建Springboot ...
- IOS和安卓WEB页面,input输入框被软键盘遮挡解决方法
本来以为这问题就只有ios才有,身边也没有android机测试,网上一搜,貌似有这个问题的还不少.最后把各种解决方法试了一边,貌似没什么用. 最后是这样解决的: setInterval(functio ...
- 使用ubuntu desktop是可能会用到的配置
1.ubuntu desktop12.04 接双显示器 想要12.04版本在接上双显示器时能很好的工作,则需要进行如下设置: (1).编辑/etc/X11/xorg.conf文件: /etc/X11/ ...
- js数组去重的方法(转)
JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...
- No Spring WebApplicationInitializer types detected on classpath异常的解决
1.问题描述,当配置成 时,通过地址栏访问默认路径的index.jsp报404错误,如果手动在浏览器输入“http://localhost:8080/index.jsp”,则出现源码文件,然后观察ec ...
- Zookeeper ZAB 协议分析[转]
写在开始:这是我找到一篇比较好的博客,转载到这来进行备份原文参考: Zookeeper ZAB 协议分析 前言 ZAB 协议是为分布式协调服务 ZooKeeper 专门设计的一种支持崩溃恢复的原子广播 ...
- BZOJ4756:[USACO]Promotion Counting(线段树合并)
Description n只奶牛构成了一个树形的公司,每个奶牛有一个能力值pi,1号奶牛为树根. 问对于每个奶牛来说,它的子树中有几个能力值比它大的. Input n,表示有几只奶牛 n<=10 ...