大数据技术之Stome 概念
来源:互联网 发布:淘宝客服月工作计划 编辑:程序博客网 时间:2024/05/22 09:01
Storm 是一个分布式的 ,容错的实时计算系统
Storm 实时 低延迟 ,主要有两个原因 :
1 storm 进程是常驻内存的,没有hadoop 里面的不断的起停
2 storm 的数据是不经过磁盘的,都是在内存里面的,处理完成就没有了,数据的交换经过网络,没有磁盘IO
Storm 和hadoop的区别 :
数据来源不同,hadoop是hdfs 上某个文件夹下可能是上TB的数据,storm 是实时的新增的一笔数据
处理过程不同,hadoop是分map 和reduce 阶段额,storm 是由用户定义的处理流程,流程中包含多个步骤,每个步骤可以是数据源spout 或处理逻辑 bolt
是否结束,hadoop 最后是要结束的,storm是没有结束状态,到最后一步时,就停滞,等有新数据进入时再唤醒程序
处理速度不同,hadoop 是以处理hdfs 上大数据量为目的的,速度慢,storm是只要处理实时的新增的某一笔内存中的数据即可,速度极快
适用场景不同,hadoop 是以批处理用的,不讲时效性,处理一次就提交一个job storm 处理一段时间内新增的数据,有时效性
与mq 相比,hadoop 没有可比性,storm 可以看作是n 个步骤,每个步骤处理完就向下一个mq 发送消息,监听这个mq 的消费者继续处理
Storm 架构
Nimbus 集群管理,接受jar包 ,调度topology
nimbus <---> zk<----> slave(supervisor)
nimbus 处理topology submit kill rebalance 等请求
Supervisor 起停worker
监控worker ,把自己的情况汇报给zk
每台机器起一个supervisor 进程
worker 一个jvm进程资源分配单位 ,可以启动多个executor
每个机器supervisor启动多个worker,默认 4 个
executor 干活的奴隶 ,线程
executor 创建 spout bolt 对象 执行spout bolt 里面的nexttuple() execute()
task
zookeeper
完全分布规划 (zk 服务器 3 台,一台nimbus,N台 supervisor服务器)
storm 的核心配置是 conf/storm.yaml
storm.zookeeper.servers:
- "spark001"
- "spark002"
- "spark003"
nimbus.host: "spark001"
storm 的ui 默认端口是 8080 ?????
编程模型,
DAG Spout Bolt
Storm 启动
首先启动zookeeper
依次启动nimbus ,ui supervisor ,logviewer
提交topology
./bin/storm jar examples/storm-starter/storm-starter-topoloies-0.98.0.jar storm.starter.WordCountTopology wordcount
- 大数据技术之Stome 概念
- Stome之接受上游数据
- 大数据概念,数据技术分类,ETL
- 大数据技术之Spark
- 大数据技术之Java
- 大数据技术之Scala
- 大数据技术之Hbase
- 大数据技术之Hive
- 大数据技术之R
- Hadoop学习日志之大数据概念
- 大数据技术概览----读《大数据管理:概念、技术与挑战》(孟小峰 慈祥著)
- 《数据挖掘-概念与技术》之数据预处理
- 大数据技术全解之二
- Nosql 大数据技术核心之NoSql
- 流式计算之大数据技术
- 大数据技术之Hadoop 基础认识
- 大数据技术之Kafka是什么
- 大数据技术之Flume 配置示例
- 后台线程
- C#反射Assembly 详细说明【1】
- C++调用Matlab画图 V2.0
- 中断线程
- HDOJ1042
- 大数据技术之Stome 概念
- 55. Binary Tree Preorder Traversal
- 高性能PHP日志系统--SeasLog学习
- 分页效果
- Apache Commons工具集
- JQuery【属性、CSS类、html、文本、值】
- 大数据技术之Hbase
- 大数据技术之Hive
- mailyWindef.h