storm

kafka与storm集成

萝らか妹 提交于 2020-02-08 05:22:27
====什么是storm Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。 这是管理队列及工作者集群的另一种方式。Storm也可被用于“连续计算”(continuous computation), 对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。 Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比 Hadoop 用于批处理。 Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。 更棒的是你可以使用任意编程语言来做开发。 ===离线计算 1.离线计算:批量获取数据、批量传输数据、周期性批量计算数据、数据展示 2.代表技术:Sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计算、Hive ===流式计算 1.流式计算:数据实时产生、数据实时传输、数据实时计算、实时展示 2.代表技术:Flume实时获取数据、Kafka/metaq实时数据存储、Storm/JStorm实时数据计算、Redis实时结果缓存、持久化存储(mysql)。 3.一句话总结:将源源不断产生的数据实时收集并实时计算,尽可能快的得到计算结果 ==========storm组件介绍: ---Nimbus

【Storm流式处理框架第一期】Storm简介

走远了吗. 提交于 2020-02-07 16:13:51
一、Storm概况 Storm 是个实时的、分布式以及具备高容错的计算系统 Storm 进程 常驻内存 Storm 数据 不经过磁盘,在内存中处理 Twitter 开源的分布式实时大数据处理框架,最早开源于 github 2013 年, Storm 进入 Apache 社区进行孵化 2014 年 9 月,晋级成为了 Apache 顶级项目 官网 http://storm.apache.org/ 国内外各大网站使用,例如雅虎、阿里、百度 二、Storm架构 架构 Nimbus(主节点) + Supervisor(从节点) + Worker(工作进程) 编程模型 DAG ( Topology)(有向无环图) + Spout(数据源节点) + Bolt(中间节点以及终止节点) 三、Storm性能 高可靠性:异常处理、消息可靠性保障机制 可维护性:StormUI 图形化监控接口,如图所示 Storm与MapReduce比较 Storm :进程、线程常驻内存运行,数据不进入磁盘,数据通过网络传递。适用于实时的数据流处理。 MapReduce :为 TB 、 PB 级别数据设计的批处理计算框架。适用于大量的数据批处理。 Storm与SparkStreaming比较 Storm :纯流式处理,专门为流式处理设计,数据传输模式更为简单,很多地方也更为高效。并不是不能做批处理,它也可以来做微批处理

storm java.io.NotSerializableException

爷,独闯天下 提交于 2020-02-06 23:45:23
估计有2年没搞storm了,今天由于工作需要重新搞一次, 不过需要使用最新版本的storm了。使用的是1.2.3版本, 写了程序,报了一个错误,如下 13886 [main] INFO o.a.s.d.s.Supervisor - Starting supervisor with id 87f0e450-46bf-4545-b86f-2a9f961ad24d at host vm1. Exception in thread "main" java.lang.IllegalStateException: Spout 'ThingSpout' contains a non-serializable field of type rexel.topo.ThingSpout$$Lambda$1/109961541, which was instantiated prior to topology creation. rexel.topo.ThingSpout$$Lambda$1/109961541 should be instantiated within the prepare method of 'ThingSpout at the earliest. at org.apache.storm.topology.TopologyBuilder.createTopology

大数据生态之storm学习 2019-9-17

白昼怎懂夜的黑 提交于 2020-02-05 06:49:40
---恢复内容开始--- 一.基本概念 1.什么是storm?   storm是一个免费的开源分布式实时计算系统,流数据框架,可以轻松可靠地处理无限数据流,实现Hadoop为批处理所做的实时处理。 2.使用场景   实时分析,在线机器学习,连续计算。   流计算 3.特点   速度快,每秒每个节点可以处理超过百万个元组   具有可扩展性,容错性,确保数据得到处理,且易于设置和操作 4.topology   类似Hadoop中的mr,storm是无状态的,(即storm是不知道某一条数据是否被消费过,没有保持数据,而数据是否被消费,有消费者知道,在storm中使用zookeeper实现消费这知道数据的是否可用,以偏移量的形式出现,所以偏移量一旦增加,表明数据被消费过了,不能被重新消费)   集群状态和分布式环境信息在zookeeper中保存 确保每个信息至少被消费一次 二.核心概念   1.tuple:元组   数据结构,有序的元素列表,通常是任意数据类型,使用逗号分割,交给storm计算。   2.Stream:一系列tuple   3.spouts:水龙头,(源源不断产生数据的源头)数据源。   4.Bolts:转接头,逻辑处理单元,spout数据传给bolt,bolt处理后产生新的数据,可以filter(过滤)、聚合、分组等。    接受数据 ——> 处理 ——>

Storm基础知识学习

馋奶兔 提交于 2020-02-05 06:49:02
概述 Storm是一个免费开源的分布式实时计算系统。Storm能轻松可靠地处理无界的数据流,就像Hadoop对数据进行批处理 编程模型 spout:数据读取数据、接收数据、将数据写出到blot bolt:可以有多个,它是处理数据的类,相当于将MapReduce中的map类整体抽取出来,Reduce整体抽取出来。可以单独写一个bolt去分割数据,写一个blot去合并数据。 元组(Tuple) 元组(Tuple),是消息传递的基本单元,是一个命名的值列表,元组中的字段可以是任何类型的对象。Storm使用元组作为其数据模型,元组支持所有的基本类型、字符串和字节数组作为字段值,只要实现类型的序列化接口就可以使用该类型的对象。元组本来应该是一个key-value的Map,但是由于各个组件间传递的元组的字段名称已经事先定义好,所以只要按序把元组填入各个value即可,所以元组是一个value的List。 流(Stream) 流是Storm的核心抽象,是一个无界的元组系列。源源不断传递的元组就组成了流,在分布式环境中并行地进行创建和处理。 水龙头(Spout) Spout是拓扑的流的来源,是一个拓扑中产生源数据流的组件。通常情况下,Spout会从外部数据源中读取数据,然后转换为拓扑内部的源数据。 Spout可以是可靠的,也可以是不可靠的。如果Storm处理元组失败,可靠的Spout能够重新发射

大数据组件服务的启动与关闭命令

落花浮王杯 提交于 2020-02-05 05:27:03
本文主要整理了大数据组件服务的启动与关闭命令,主要包括Hadoop,Spark,HBase,Hive,Zookeeper,Storm,Kafka,Flume,Solr,ElasticSearch。 1、Hadoop集群 ( 1 )启动方式切换到主节点的hadoop安装目录下的sbin目录下a)/start-dfs .sh ./start-yarn .sh (建议使用)b)./start-all .sh ( 2 )关闭方式a)./stop-dfs .sh ./stop-yarn .sh (建议使用)b)./stop-all .sh 2、Spark集群 切换到主节点的Spark安装目录下的sbin目录下(1)启动方式./ start - all .sh( 2 )关闭方式./stop- all .sh 3、HBase集群 ( 1 )启动方式 先启动Hadoop集群 ,后启动HBASE #cd $HBASE_HOME/bin #./start-hbase.sh ( 2 )关闭方式 #cd $HBASE_HOME/bin #./stop-hbase.sh ( 3 )web访问方式Masterhttp: //192.168.2.12:60010/master-status RegionServerhttp: //192.168.2.12:60030/ 4、Hive hadoop必须已经启动

大数据组件服务的启动与关闭命令

a 夏天 提交于 2020-02-05 05:26:19
本文主要整理了大数据组件服务的启动与关闭命令,主要包括Hadoop,Spark,HBase,Hive,Zookeeper,Storm,Kafka,Flume,Solr,ElasticSearch。 1、Hadoop集群 (1)启动方式切换到主节点的hadoop安装目录下的sbin目录下a)/start-dfs.sh ./start-yarn.sh (建议使用)b)./start-all.sh(2)关闭方式a)./stop-dfs.sh ./stop-yarn.sh (建议使用)b)./stop-all.sh 2、Spark集群 切换到主节点的Spark安装目录下的sbin目录下(1)启动方式./start-all.sh(2)关闭方式./stop-all.sh 3、HBase集群 (1)启动方式先启动Hadoop集群,后启动HBASE#cd $HBASE_HOME/bin#./start-hbase.sh(2)关闭方式#cd $HBASE_HOME/bin#./stop-hbase.sh(3)web访问方式Masterhttp://192.168.2.12:60010/master-statusRegionServerhttp://192.168.2.12:60030/ 4、Hive hadoop必须已经启动切换到节点的Hive安装目录下的bin目录(1)启动Hive:./hive

Storm 集群部署

旧时模样 提交于 2020-02-05 03:16:55
【准备】 1:虚拟机奇数台(3) 2:java环境(java1.7) 3:python环境(python2.7) 4:zookeeper集群环境(投票机制,所以需要奇数台机器) 【python安装】 python2.7.tgz包 百度网盘地址: https://pan.baidu.com/s/117zozMdipzvZhnMm9A5CNA #准备tar包 python2.7.tgz包 #解压 tar -xzvf Python2.7.tgz #复制至其他两个节点 scp -r ./Python2.7 root@192.168.246.130:/usr/local scp -r ./Python2.7 root@192.168.246.131:/usr/local #进入python目录 cd Python2.7 #编译 ./configure --prefix=/usr/local #make make && make install #进入/usr/local/bin目录 cd /usr/local/bin (你会看到编译的python执行文件) #建立2.7软连接 ln -s /usr/local/bin/python2.7 /usr/bin/python #测试版本 python --version 【zookeeper安装】 请查看zookeeper安装: https:/

初学大数据不知从何入手?总结十章大数据学习指南(建议收藏)

醉酒当歌 提交于 2020-02-04 00:24:43
近三年,大数据这个词出现的频次非常高,不仅纳入各大互联网巨头公司的战略规划中,同时也在国家的政府报告中多次提及,大数据已无疑成为当今时代的新宠。大数据给大多数人的感觉是,专业性强,门槛高,完全属于“高大上”的技术。好奇的人或许会通过网络了解一些概念,而有一些人则看到了大数据带来的机遇,投入大数据学习的洪流当中,投身大数据行业为自己带来利益。经历“坎坷”的学习大数据历程后,在求学之路上有哪些具体 容易掉入的“坑”? 让我们一一盘点下。 ​ 1 在这里相信有许多想要学习大数据的同学,大家可以+下大数据学习裙:740041381,即可免费领取套系统的大数据学习教程 我们一起经历的那些坑 大多的初学者在入门初期,基本是在网上各种社区“大海捞针”的到处 知乎、百度: “大数据学习路径是怎么样的?” “学生党,会java,只有一台电脑!!如何学习大数据开发?” “ 语言是学R还是Python?” “我没时间有没钱,自学能学的会吗?” “现在大数据开发挺火的,谁知道大数据开发学习机构哪家靠谱?” “零基础学习大数据,想成为大数据开发工程师,请问该如何入门,有没有推荐网络教程,书籍或者大牛博客?” 自学过程中走过很多弯路,比如环境搭建,总会遇到各种奇葩问题,找不到答案;比如网上扑来各种资料不知道怎么分辨质量,也不知道如何科学利用,很痛苦又很困惑,毫无一点成就感,走了许多冤枉路,踩坑无数…… 第一

大数据学习路线

心不动则不痛 提交于 2020-02-02 03:16:50
大数据处理从hadoop开始经过了几年的发展,生态越来越丰富,也越来越重要。就从目前的各个招聘网站来看也是薪资最高的。但是对于想进入大数据方面的开发人员从何处学习呢?我在网络收集了一些相关的资源,希望可以帮助到大家。 大数据处理流程与应用 一、Github上的学习资源BigData-Notes Github地址 : https://github.com/heibaiying/BigData-Notes 这个github上的资源是最为丰富的。该资源中详细的介绍了大数据学习的各个方面。从大数据收集、存储、分析、实时计算、还有其他相关的辅助技术。 1、数据收集:Flume 、Logstash、Kibana 2、数据存储:Hadoop HDFS 、KFS、GFS 3、数据分析:Hadoop MapReduce、Spark、Flink、Storm 4、实时计算:Spark、Flink、Storm 大数据学习路线图 二、Flink实时计算框架flink-learning Github地址 :https://github.com/zhisheng17/flink-learning 该资源介绍了flink相关的知识点,同时也包含与各种中间件集成的例子。是个不错的学习资源。 总之学习大数据要先学会相关的开发语言。目前大数据相关的开发语言Java、Scala。另外就是要知道相关的大数据收集相关的框架了