【大数据】Summingbird(Storm + Hadoop)的demo运行
一、前言
为了运行summingbird demo,笔者走了很多的弯路,并且在国内基本上是查阅不到任何的资料,耗时很久才搞定了demo的运行。真的是一把辛酸泪,有兴趣想要研究summingbird的园友且听笔者一一道来,大体可以将summingbird理解为Storm + Hadoop。
二、大数据处理快速预览
大数据时代的来临,将大数据处理分为了批量处理与实时处理两个方向,批量处理的优势在于容错性好,因为数据时先存在本地或者是分布式的进行存储,可以重复对数据进行处理,劣势在于速度慢,要等到数据全部存入之后才开始批量处理。对于实时处理而言,优势则是速度很快,实时进行计算,劣势则是容错性不好,因为数据流进内存再流出,筛选出有用的数据,而不是对所有的数据进行存盘处理,所以当想要再次运行之前的数据则是不可能,也就是其处理的数据不可在现性。单单靠批处理或者实时处理已经越来越难满足多样化的需求,势必要将两者融合起来进行处理。既保持着批处理的容错性,又保持着实时处理的实时性。下面就是本文的主角-summingbird,无缝融合批量计算与实时计算。
三、学习summingbird所需要搭建的环境
笔者的机器OS为linux,要运行summingbird,搭建机器搭建的环境如下:
1.zookeeper
2.kafka
3.memcached
4.scala
四、学习summingbird所需要了解的技能
1.应该对sbt有些了解
2.对scala语言比较熟悉
3.对storm与hadoop的工作原理应该比较熟悉
五、Demo的探索运行
感兴趣的园友可以在github上搜索summingbird,就对会其有大概的了解。当然也可以按照github官方教程来进行demo的运行,如果顺利的话,是不会有结果的,因为GFW的存在,导致官方教程中的Twitter流无法顺利接入到程序中。所以肯定是运行不了,笔者刚开始的时候也尝试过,均已失败告终,之后不断google,并且在Twitter上不断询问项目的发起人。又开始不断尝试,又以失败告终。之后再github找到了一个实例,该实例结合了storm和hadoop,因此心中一喜,继续开始研究,按照步骤一步步开始,最后,结果还是失败了。看错误是发现因为有些jar包取不到,还是GFW的原因,无法在twitter的maven仓库中取得相应的jar包,由于笔者之前没有研究过maven和sbt,接下来就开始学习sbt和maven,当然也没有特别深入的学习,只是掌握一些基本的用法,能够看懂sbt文件和maven文件。之后打开了项目的sbt文件,发现里面所依赖的库被墙了,于是乎,开始改为oschina中的maven仓库。
六、终于成功运行
具体的项目代码已经托管到github上面,只需要按照步骤来,就可以得到正确的结果,也希望各位园有可以多多指教。下一步就开始从本地数据库开始导入数据进行处理。
七、体会
学习大数据涉及到的知识面确实是挺广,要掌握的知识很多很多,所以一定要扎扎实实的进行研究。不得不说中国的防火墙GFW确实是名不虚传,厉害。在保护网络的同时也确实是给开发者带去了一些不必要的麻烦。However,最终还是成功运行了。谢谢各位园友观看~
github路径如下:https://github.com/leesf/summingbird-hybrid-example-china
也欢迎各位园友fork 和star。
【大数据】Summingbird(Storm + Hadoop)的demo运行的更多相关文章
- 一篇了解大数据架构及Hadoop生态圈
一篇了解大数据架构及Hadoop生态圈 阅读建议,有一定基础的阅读顺序为1,2,3,4节,没有基础的阅读顺序为2,3,4,1节. 第一节 集群规划 大数据集群规划(以CDH集群为例),参考链接: ht ...
- 大数据测试之初识Hadoop
大数据测试之初识Hadoop POPTEST老李认为测试开发工程师是面向测试的开发,也就是说,写代码就是为完成测试任务服务的,写自动化测试(性能自动化,功能自动化,安全自动化,接口自动化等等)的cas ...
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...
- 大数据 --> Spark与Hadoop对比
Spark与Hadoop对比 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法 ...
- 大数据计算框架Hadoop, Spark和MPI
转自:https://www.cnblogs.com/reed/p/7730338.html 今天做题,其中一道是 请简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什 ...
- 【大数据】了解Hadoop框架的基础知识
介绍 此Refcard提供了Apache Hadoop,这是最流行的软件框架,可使用简单的高级编程模型实现大型数据集的分布式存储和处理.我们将介绍Hadoop最重要的概念,描述其架构,指导您如何开始使 ...
- 初识大数据(二. Hadoop是什么)
hadoop是一个由Apache基金会所发布的用于大规模集群上的分布式系统并行编程基础框架.目前已经是大数据领域最流行的开发架构.并且已经从HDFS.MapReduce.Hbase三大核心组件成长为一 ...
- 学习大数据基础框架hadoop需要什么基础
什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1 ...
- 大数据入门:Hadoop安装、环境配置及检测
目录 1.导包Hadoop包 2.配置环境变量 3.把winutil包拷贝到Hadoop bin目录下 4.把Hadoop.dll放到system32下 5.检测Hadoop是否正常安装 5.1在ma ...
- 实时流Streaming大数据:Storm,Spark和Samza
当前有许多分布式计算系统能够实时处理大数据,这篇文章是对Apache的三个框架进行比较,试图提供一个快速的高屋建瓴地异同性总结. Apache Storm 在Storm中,你设计的实时计算图称为top ...
随机推荐
- unity 状态机 + svn + 码云 上篇
最近刚找到在实习,忙于公司一个c++ 项目 ,一直想写博客来着,没时间写今天熬夜打算先献上自己前几天自己封装的一个fsm状态机 话不多说,直接上正题,这篇博客主要是在学校的时候状态机一直使用的是pla ...
- js 数组遍历for..in弊端
//for..in在数组中的弊端 原则上数组Array对象是不能操作的,但是有些程序员开始不注意把Array的原型链上添加了方法就会出现意想不到的bug //例如 ,,]; Array.prototy ...
- WebRTC实现网页版多人视频聊天室
因为产品中要加入网页中网络会议的功能,这几天都在倒腾 WebRTC,现在分享下工作成果. 话说 WebRTC Real Time Communication 简称 RTC,是谷歌若干年前收购的一项技术 ...
- javascript 设计模式-----工厂模式
所谓的工厂模式,顾名思义就是成批量地生产模式.它的核心作用也是和现实中的工厂一样利用重复的代码最大化地产生效益.在javascript中,它常常用来生产许许多多相同的实例对象,在代码上做到最大的利用. ...
- (文摘)彻底理解webservice SOAP WSDL
WebServices特点介绍 WebServices 提供一个建立分布式应用的平台,使得运行在不同操作系统和不同设备上的软件,或者是用不同的程序语言和不同厂商的软件开发工具开发的软件,所有可能的已开 ...
- 【转】优化Web程序的最佳实践
自动排版有点乱,看着蛋疼,建议下载中文PDF版阅读或阅读英文原文. Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践.他们为此进行了 一系列的实验.开发了各 ...
- 十分钟搞定CSS选择器
在最近的web开发中是不是就会用到一些选择器,发现很多尤其是CSS3新增的不太熟悉,在此总结一下. 优先级 不同级别 1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式. ...
- AngularJS快速入门指南16:Bootstrap
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- IOS Block-Block块的使用与理解
在IOS中,block块是新添加的语法,其他程序语言中也被称为闭包. 程序块的理念是像任何其他C语言类型一样对待特定的代码块.程序块可以分配给一个变量,以参数的形式传递给函数或方法,当然也可以执行(不 ...
- VUE 意淫笔记
caihg Vue.js 递归组件实现树形菜单 最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: 1 2 3 4 5 6 7 8 9 i ...