在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
在大数据求职者眼中,Storm肯定是一款高效的开源软件,它主要用于解决数据的实时计算和实时的处理等方面的问题。同时Storm也是大数据进阶面试题的重难点,因此小编整理了一些近些年来比较经典常见有关Storm的面试题,希望对大家有用。

一、架构
1、Nimbus
负责资源分配和任务调度。新版本中的 nimbus 节点可以有多个做主备。
2、Zookeeper
协调集群,公共数据的存放(如心跳数据,集群的状态和配置信息),nimbus 将分配给 Supervisor 的任务写入到 Zookeeper
3、supervisor
负责接受 nimbus 分配的任务,启动和停止属于自己管理的 worker 进程。
4、worker
运行具体处理组件逻辑的进程。worker 中每一个 spout/bolt 的线程称为一个task. 在 storm0.8 之后,task 不再与物理线程对应,同一个 spout/bolt 的 task 可能会共享一个物理线程,该线程称为 executor。最新版本的 Jstorm 已经废除了 task 的概念
二、编程模型
1、Spout
Spout 是接受外部数据源的组件,将外部数据源转化成 Storm 内部的数据, 以 Tuple 为基本的传输单元下发给 Bolt。(Tuple 是 Storm 内部中数据传输的基本单元,里面封装了一个 List 对象,用来保存数据。)
2、Bolt
Bolt 是接受 Spout 发送的数据,或上游的 bolt 的发送的数据。根据业务逻辑进行处理。发送给下一个 Bolt 或者是存储到某种介质上。介质可以是 mongodb 或 mysql,或者其他。
3、并行度
Worker:表示一个进程
Executor:表示由 worker 启动的线程
Task:实际执行数据处理的最小工作单元(注意,task 并不是线程)
并行度的设置:评估上游 kafka 每秒生产的数据量,分析 topic 每个 partition
每秒的数据量,partition 的数据量=SpoutTask 接受数据量SpoutTask 数量=partition 的数量
Worker 的设置:如果数据量大,worker 的数量等于 spouttask 的数量
4、消息不丢失
ack 机制即, spout 发送的每一条消息,
l在规定的时间内,spout 收到 Acker 的 ack 响应,即认为该 tuple 被后
l
续 bolt 成功处理
l在规定的时间内,没有收到 Acker 的 ack 响应 tuple,就触发 fail 动作, 即认为该 tuple 处理失败,
l或者收到 Acker 发送的 fail 响应 tuple,也认为失败,触发 fail 动作。通过 Ack 机制,spout 发送出去的每一条消息,都可以确定是被成功处理或失败处理, 从而可以让开发者采取动作。比如在 Meta 中,成功被处理,即可更新偏移量,当失败时,重复发送数据。因此,通过 Ack 机制,很容易做到保证所有数据均被处理,一条都不漏。
以上就是关于Storm开源软件的所有大数据面试题整理。大家一定要好好把这些问题梳理一遍,这样一来在面试的时候,就不至于因为紧张而发挥失常了。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据可视化相关工具介绍
大数据的实际应用中,有一个重要的环节,就是实现数据的可视化。这是数据分析结论导向的重要体现。你可以通过可视化的数据形式明晰的了解各种数据的分布以及占比,例如大数据招聘市场的分布、目前行业岗位薪资与学历的关系、大数据热门技术的应用比例等等。本文就和大家介绍一些大数据可视化的使用工具
10057
2019-08-09 18:04:01
大数据面试题:flume 与 kafka 的整合
当你面试的时候突然被问到:flume 与 kafka 的整合。你会怎么回答?其实面试官提问的时候主要是想考察你对storm的理解,下面小编带大家一起分析这个问题的解答方式!
10373
2019-07-04 19:05:09
大数据挖掘工具软件有哪些?大数据软件工具介绍
当下,我们无时无刻不徜徉在大数据的海洋。对于数据分析师来讲,借助一些大数据挖掘工具软件,可以更好地帮助企业了解用户并提供相应的服务。那么大数据挖掘工具软件有哪些呢?
14290
2019-09-03 11:41:21
大数据面试题之分布式资源调度框架Yarn
Yarn作为一个资源管理、任务调度的框架,其重要性不言而喻。尤其是在近些年的大数据面试中,更是面试题的重点知识之一。为了大家在面试的时候,能够准备的更加充分,小编整理了一份有关分布式资源调度框架Yarn的大数据面试题,内容包括Yarn的架构、工作流程、调度器Scheduler。
10134
2019-09-12 11:00:53
大数据开发常用的工具介绍
Java语言和 Linux操作系统,它们是学习大数据的基础。java:只需了解一些基本知识,不需要用很深的 Java技术来做大数据,学习 java SE等于学习大数据基础。与大数据有关的软件都在 Linux上运行,所以 Linux要学扎实一点,学好Linux对你快速掌握与大数据有关的技术,能让你更好地了解 hadoop, hive, hbase, spark等大数据软件的运行环境和网络环境配置。
7093
2020-07-02 13:49:48
