一、前言

  为了运行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运行的更多相关文章

  1. 一篇了解大数据架构及Hadoop生态圈

    一篇了解大数据架构及Hadoop生态圈 阅读建议,有一定基础的阅读顺序为1,2,3,4节,没有基础的阅读顺序为2,3,4,1节. 第一节 集群规划 大数据集群规划(以CDH集群为例),参考链接: ht ...

  2. 大数据测试之初识Hadoop

    大数据测试之初识Hadoop POPTEST老李认为测试开发工程师是面向测试的开发,也就是说,写代码就是为完成测试任务服务的,写自动化测试(性能自动化,功能自动化,安全自动化,接口自动化等等)的cas ...

  3. 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)

    大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...

  4. 大数据 --> Spark与Hadoop对比

    Spark与Hadoop对比 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法 ...

  5. 大数据计算框架Hadoop, Spark和MPI

    转自:https://www.cnblogs.com/reed/p/7730338.html 今天做题,其中一道是 请简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什 ...

  6. 【大数据】了解Hadoop框架的基础知识

    介绍 此Refcard提供了Apache Hadoop,这是最流行的软件框架,可使用简单的高级编程模型实现大型数据集的分布式存储和处理.我们将介绍Hadoop最重要的概念,描述其架构,指导您如何开始使 ...

  7. 初识大数据(二. Hadoop是什么)

    hadoop是一个由Apache基金会所发布的用于大规模集群上的分布式系统并行编程基础框架.目前已经是大数据领域最流行的开发架构.并且已经从HDFS.MapReduce.Hbase三大核心组件成长为一 ...

  8. 学习大数据基础框架hadoop需要什么基础

    什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1 ...

  9. 大数据入门:Hadoop安装、环境配置及检测

    目录 1.导包Hadoop包 2.配置环境变量 3.把winutil包拷贝到Hadoop bin目录下 4.把Hadoop.dll放到system32下 5.检测Hadoop是否正常安装 5.1在ma ...

  10. 实时流Streaming大数据:Storm,Spark和Samza

    当前有许多分布式计算系统能够实时处理大数据,这篇文章是对Apache的三个框架进行比较,试图提供一个快速的高屋建瓴地异同性总结. Apache Storm 在Storm中,你设计的实时计算图称为top ...

随机推荐

  1. C++混合编程之idlcpp教程Python篇(8)

    上一篇在这 C++混合编程之idlcpp教程Python篇(7) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相似,工程PythonTutorial6中,同样加入了四个文件:Pyt ...

  2. javascript定时函数

    setTimeout(表达式,延迟时间)是定时程序,也就是在什么时间以后干什么,只做一次,就不做了.表达式为字符串函数或其它表达式,时间单位为毫秒 例子:setTimeout("f()&qu ...

  3. wpf下datagrid使用过程中需要注意的几点(一)

    MainWindow.xaml中的代码如下: <DataGrid CanUserAddRows="False" ItemsSource="{Binding}&quo ...

  4. GnuPG 1.4.15 发布,邮件加密工具

    GnuPG 1.4.15 改进包括: * Fixed possible infinite recursion in the compressed packet parser. [CVE-2013-44 ...

  5. vc编译 zlib 1.2.8

    最近用到gzip关的算法,于是想起了zlib这个库,于是将其下载下来编译. 首先,在官网上下载源码包:http://zlib.net/zlib-1.2.8.tar.gz 解压之后,打开vc 命令工具: ...

  6. (转载)编写高效的jQuery代码

    原文地址:http://www.cnblogs.com/ppforever/p/4084232.html 最近写了很多的js,虽然效果都实现了,但是总感觉自己写的js在性能上还能有很大的提升.本文我计 ...

  7. 使用DBUnit框架数据库插入特殊字符失败的查错经历

    本文记录的是使用DBUnit测试框架进行数据库数据插入时,插入特殊字符失败的查错经历.希望能对向我这样的小白同学们在遇到类似问题时,能够有一些启发.背景:在写跟数据库交互模块的单元测试,数据库表中的e ...

  8. Kinect for Windows SDK 1.8的改进及新特性

    今年3月, 微软推出了Kinect for Windows SDK 1.7 更新,包括了手势识别 Kinect Interactions 和实时 3D 建模 Kinect Fusion 两项新技术. ...

  9. html5 css3实现图中结构

    <!DOCTYPE html> <html lang="en" > <head> <title>demo</title> ...

  10. 本地DNS安装

    在centOS里最常用的DNS服务工具应该是bind了.下面就以bind为例做一个DNS服务. 首先查看bind 是否已经安装 Rpm -qa | gerp bind 如果没有的话就用yum 安装一下 ...