一、前言

  为了运行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语言到汇编的学习

    [内存结构] C程序通过编译-汇编-连接,最后到可执行文件.载入内存有这几个部分: text:正文段,存放的是可执行的机器码段 data:存放初始化之后的全局变量和静态变量 bbs:存放未初始化的静态 ...

  2. sqlserver 读取xml 字符串方法

    declare @xml xml declare @propertyName varchar(50)  declare @str nvarchar(max)   set @propertyName = ...

  3. Hadoop日记Day12---MapReduce学习

    一.MapReduce简介 1.1MapReduce概述 MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.MR由两个阶段组成:Map和Reduce ...

  4. 如何让Hadoop读取以gz结尾的文本格式的文件

    背景: 搜索引擎在build全量时,会产生数G的xml的中间文件,我需要去查询这些中间文件中,是否有某个特殊的字符.xml文件有很多,每个都有几百M,存储在hdfs上,而且是以gz结尾的文本格式的文件 ...

  5. channel vs mutex

    记录许总演讲PPT指出的实践: channel– 本质上是一个 MessageQueue– 非常正统的执行体间通讯设施• sync.Mutex/RWMutex/Cond/etc– 不要把 channe ...

  6. Java中文编码小结

    Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一 ...

  7. as3 Loader 加载资源后内存泄露无法释放的问题。

    本人用Loader加载外部一个swf.之后unloadAndStop,Flash概要分析发现,内存没有被释放. 网上搜了一大堆文章,要么就是加载bitmapdata之后,自己dispose,要么就是加 ...

  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(十五):消息加密

    前不久,微信的企业号使用了强制的消息加密方式,随后公众号也加入了可选的消息加密选项.目前企业号和公众号的加密方式是一致的(格式会有少许差别). 加密设置 进入公众号后台的“开发者中心”,我们可以看到U ...

  9. JavaBean和Map转换封装类

    package com.ljq.util; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans. ...

  10. Linux gcc的安装

    说明:我是在虚拟机里学习的Linux,很多问题也是和虚拟机有关的.今天就遇到了虚拟机安装gcc是一个问题. 首先查看gcc是否安装: 然后安装gcc.(我的错误就出现在这里.) 我用的虚拟机,练习平时 ...