戳蓝字“CSDN云计算”关注我们哦!
Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。今天,我们就挑一些Storm的安装配置问题来看看吧。
1
Q:Storm简介
A:1.Storm是一套分布式的、可靠的,可容错的用于处理流式数据的系统。
2.Storm也是基于C/S架构来进行工作的,C负责将数据处理的方式的jar(Topology)发送给S,S解析C发送过来的jar(Topology),并按一定规则jar变成多个Task((Spout/Bolt)),生成相关的进程和线程运行里面的Task。
Q:storm与Hadoop区别?
A:storm用于实时计算,hadoop用于离线计算
storm处理的数据保存在内存中,源源不断;hadoop处理的数据保存在文件系统中,一批一批
storm的数据通过网络传输进来的;hadoop的数据保存在磁盘中;
storm与hadoop的编程模型相似
Q:Storm有哪些特性?
A: 1.适用场景广泛:storm可以实时处理消息和更新DB,对一个数据量进行持续的查询并返回客户端(持续计算),对一个耗资源的查询作实时并行化的处理(分布式方法调用,即DRPC),storm的这些基础API可以满足大量的场景。
2. 可伸缩性高: Storm的可伸缩性可以让storm每秒可以处理的消息量达到很高。扩展一个实时计算任务,你所需要做的就是加机器并且提高这个计算任务的并行度 。Storm使用ZooKeeper来协调集群内的各种配置使得Storm的集群可以很容易的扩展。
3. 保证无数据丢失:实时系统必须保证所有的数据被成功的处理。那些会丢失数据的系统的适用场景非常窄, 而storm保证每一条消息都会被处理, 这一点和S4相比有巨大的反差。
4. 异常健壮:storm集群非常容易管理,轮流重启节点不影响应用。
5. 容错性好:在消息处理过程中出现异常, storm会进行重试
6. 语言无关性:Storm的topology和消息处理组件(Bolt)可以用任何语言来定义, 这一点使得任何人都可以使用storm。
Q:Storm的运用场景
A:日志分析:从海量日志中分析出特定的数据,并将分析的结果存入外部存储器用来辅佐决策;
管道系统:将一个数据从一个系统传出到另一个系统,比如讲数据库同步到hadoop;
消息转化器:将接受到的消息按照某种格式进行转化,存储到另一个系统如消息中间件。
5
Q:Storm典型案例
A:淘宝实时分析系统:实时分析用户的属性,并反馈给搜索引擎,最初,用户属性分析是通过每天在云梯上定时运行的MR job来完成的。为了满足实时性的要求,希望能够实时分析用户的行为日志,将最初的用户属性反馈给搜索引擎,能够为用户展示最贴近其当前需求的结果
携程网站性能监控:实时分析系统监控携程的网站的性能,利用HTML5提供的performance标准获得可用的指标,并记录日志。storm集群实时分析日志和入库。使用DRPC聚合成报表,通过历史数据对比等判断规则,触发预警事件。
阿里妈妈用户画像:实时计算用户的兴趣数据,为了更加精准投放广告,阿里妈妈后台计算引擎需要维护每个用户的兴趣点(理想状态是,你对什么感兴趣,就向你投放呢类广告)。用于兴趣主要基于用户的历史行为、用户的实时查询、用户的实时点击、用户的地理信息而得,其中实时查询、实时点击等用户行为都是实时数据。考虑到系统的实时性。阿里妈妈使用storm维护用户兴趣数据,并在此基础上进行受众定向的广告投放。
小伙伴们冲鸭,后台留言区等着你!
关于Storm,今天你学到了什么?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
福利
扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
推荐阅读: