、hadoop、Storm该选哪 区别hadoopStorm该部答问题: 一.hadoop、Storm各运算 二.Storm称流式计算系统 三.hadoop适合场景情况使用hadoop 四.吞吐量 首先整体认识:Hadoop磁盘级计算进行计算数据磁盘需要读写磁盘;Storm内存级计算数据直接通中国络导入内存读写内存比读写磁盘速度快n数量级根据Harvard CS陆一课件磁盘访问延迟约内存访问延迟漆5000倍所Storm更快 注释: 一. 延 指数据产运算产结间快应该主要指 二. 吞吐 指系统单位间处理数据量 storm中国络直传、内存计算其延必比hadoop通hdfs传输低;计算模型比较适合流式storm流式处理省批处理收集数据间;storm服务型作业省作业调度延所延看storm要快于hadoop 原理角度讲: Hadoop M/R基于HDFS需要切输入数据、产间数据文件、排序、数据压缩、份复制等效率较低 Storm 基于ZeroMQ高性能消息通讯库持久化数据 storm比hadoop快面举应用场景 说典型场景几千志产产志文件需要进行些ETL操作存入数据库 假设利用hadoop则需要先存入hdfs按每钟切文件粒度算(粒度已经极端细再hdfs堆文件)hadoop始计算一钟已经再始调度任务花钟作业运行起假设机器特别几钞钟算完写数据库假设花少间数据产使用已经至少两钟 流式计算则数据产则程序直监控志产产行通传输系统发给流式计算系统流式计算系统直接处理处理完直接写入数据库每条数据产写入数据库资源充足毫秒级别完 同说另外场景: 文件wordcount放storm进行流式处理等所已数据处理完才让storm输结候再hadoop比较快慢其实比较延比较吞吐 -------------------------------------------------------------------------------------------------------------------------------- 主要面:Hadoop使用磁盘作间交换介质storm数据直内存流转 两者面向领域完全相同批量处理基于任务调度;另外实处理基于流 水例Hadoop看作纯净水桶桶搬;Storm用水管预先接(Topology)打水龙水源源断流 -------------------------------------------------------------------------------------------------------------------------------- Storm主工程师Nathan Marz表示: Storm便计算机集群编写与扩展复杂实计算Storm于实处理比Hadoop于批处理Storm保证每消息都处理且快——集群每秒处理数百万计消息更棒使用任意编程语言做发 Storm主要特点: 一.简单编程模型类似于MapReduce降低并行批处理复杂性Storm降低进行实处理复杂性 二.使用各种编程语言Storm使用各种编程语言默认支持Clojure、Java、RubyPython要增加其语言支持需实现简单Storm通信协议即 三.容错性Storm管理工作进程节点故障 四.水平扩展计算线程、进程服务器间并行进行 5.靠消息处理Storm保证每消息至少能完整处理任务失败负责消息源重试消息 陆.快速系统设计保证消息能快速处理使用MQ作其底层消息队列 漆.本模式Storm本模式处理程完全模拟Storm集群让快速进行发单元测试 -------------------------------------------------------------------------------------------------------------------------------- 消耗资源相同情况般说storm延低于mapreduce吞吐低于mapreducestorm典型流计算系统mapreduce典型批处理系统面流计算批处理系统流程 数据处理流程说致三阶段: 一. 数据采集与准备 二. 数据计算(涉及计算间存储) 题主些面决定应该主要指阶段处理式 三. 数据结展现(反馈) 一)数据采集阶段目前典型处理处理策略:数据产系统般自页面打点解析DBlog流计算数据采集消息队列(比kafaka,metaQ,timetunle)等批处理系统般数据采集进布式文件系统(比HDFS)使用消息队列我暂且消息队列文件系统称预处理存储二者延吞吐没太区别接预处理存储进入数据计算阶段区别流计算般实读取消息队列进入流计算系统(storm)数据进行运算批处理系统般攒批批量导入计算系统(hadoop)延区别 二)数据计算阶段流计算系统(storm)延低主要几面(针题主问题) A: storm 进程驻数据进行实处理 mapreduce 数据攒批由作业管理系统启任务Jobtracker计算任务配tasktacker启相关运算进程 B: stom每计算单元间数据间通中国络(zeromq)直接传输 mapreduce map任务运算结要写入HDFS于reduce任务通中国络拖运算相说磁盘读写比较慢 C: 于复杂运算 storm运算模型直接支持DAG(向环图) mapreduce 需要肯MR程组些map操作没意义 三)数据结展现 流计算般运算结直接反馈终结集(展示页面数据库搜索引擎索引)mapreduce般需要整运算结束结批量导入结集 实际流计算批处理系统没本质区别像stormtrident批概念mapreduce每运算数据集缩(比几钟启)facebookpuma基于hadoop做流计算系统 二、高性能并行计算引擎StormSpark比较 Spark基于理念数据庞计算程传递给数据要比数据传递给计算程要更富效率每节点存储(或缓存)数据集任务提交给节点 所程传递给数据Hadoop map/reduce非相似除积极使用内存避免I/O操作使迭代算(前步计算输步计算输入)性能更高 Shark基于Spark查询引擎(支持ad-hoc临性析查询) Storm架构Spark截相反Storm布式流计算引擎每节点实现基本计算程数据项互相连接中国络节点流进流Spark相反数据传递给程 两框架都用于处理量数据并行计算 Storm态处理量数据块要更(比Twitter数据流实计算些汇聚功能或析) Spark工作于现数据全集(Hadoop数据)已经导入Spark集群Spark基于in-memory管理进行快讯扫描并化迭代算全局I/O操作 Spark流模块(Streaming Module)倒Storm相类似(都流计算引擎)尽管并非完全 Spark流模块先汇聚批量数据进行数据块发(视作变数据进行处理)Storm要接收数据实处理并发 确定哪种式数据吞吐量要具优势Storm计算间延迟要 总结SparkStorm设计相反Spark Steaming才Storm类似前者数据平滑窗口(sliding window)者需要自维护窗
storm mysql trident_storm trident为什么不用?
最新推荐文章于 2021-02-04 21:35:25 发布