flume-ng+Kafka+Storm+HDFS 实时系统搭建

  categories:mq, 资料  author:

一直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm的实时日志流系统的搭建文档,自己也跟着整了一遍,之前罗宝的文章中有一些要注意点没提到的,以后一些写错的点,在这边我会做修正;内容应该说绝大部分引用罗宝的文章的,这里要谢谢罗宝兄弟,还有写这篇文章@晨色星空J2EE也给了我很大帮助,这里也谢谢@晨色星空J2EE

之前在弄这个的时候,跟群里的一些人讨论过,有的人说,直接用storm不就可以做实时处理了,用不着那么麻烦;其实不然,做软件开发的都知道模块化思想,这样设计的原因有两方面:

一方面是可以模块化,功能划分更加清晰,从“数据采集–数据接入–流失计算–数据输出/存储”

1).数据采集

负责从各节点上实时采集数据,选用cloudera的flume来实现

2).数据接入

由于采集数据的速度和数据处理的速度不一定同步,因此添加一个消息中间件来作为缓冲,选用apache的kafka

3).流式计算

对采集到的数据进行实时分析,选用apache的storm

4).数据输出

对分析后的结果持久化,暂定用mysql

另一方面是模块化之后,加入当Storm挂掉了之后,数据采集和数据接入还是继续在跑着,数据不会丢失,storm起来之后可以继续进行流式计算;

那么接下来我们来看下整体的架构图

详细介绍各个组件及安装配置:

操作系统:ubuntu

Flume

Flume是Cloudera提供的一个分布式、可靠、和高可用的海量日志采集、聚合和传输的日志收集系统,支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

下图为flume典型的体系结构:

Flume数据源以及输出方式:

Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力,在我们的系统中目前使用exec方式进行日志采集。

Flume的数据接受方,可以是console(控制台)、text(文件)、dfs(HDFS文件)、RPC(Thrift-RPC)和syslogTCP(TCP syslog日志系统)等。在我们系统中由kafka来接收。

Flume下载及文档:

http://flume.apache.org/

Flume安装:

  1. $tar zxvf apache-flume-1.4.0-bin.tar.gz/usr/local

Flume启动命令:

  1. $bin/flume-ng agent –conf conf –conf-file conf/flume-conf.properties –name producer -Dflume.root.logger=INFO,console

Kafka… 阅读全文

Windows下使用SBT构建Scala程序

  categories:资料  author:

上一篇简单介绍了学习Scala编程入手时的环境构建,本文专门说明下专为Scala而生的一个Build tool的用法。

SBT, 做为一种build tool,相对于Make,Ant,Maven等来说,算是新鲜事物了。虽然它主要是配合Scala而使用,不过它的功能还是比较全面的,所以它的名称不 是Scala Build Tool,而是Simple Build Tool,即它的目标是做为一种通用的build tool。虽然名字里有Simple,其实它一点也不简单。

相关信息参见: http://www.scala-sbt.org/release/tutorial/zh-cn/index.html  里面有详细的介绍, 本文是从网络搜集的一些介绍供参考。

http://www.scala-sbt.org/0.13/tutorial/zh-cn/Basic-Def.html  介绍sbt的使用方法等

不过SBT毕竟属于小众的tool,本文并不打算事无巨细的说明它的全部用法。本文可以看作是对它的官网的阅读导引和注解,以及它的简单用法、还有与后文相关的内容。

本文以及本系列其他文中,SBT和sbt混用。

开始


1,访问https://github.com/sbt/sbt    这是主站,访问下方的README.md,按照Setup中的说明,可以了解从安装到使用的完整用法。应该先大致浏览一遍。入手使用,本文后面会介绍。

不过我觉得这里才是大纲。进入Setup的页面后,点击右上的Documentation或者Contents进入。

clipboard[1]

下图红色框中的内容,讲到了SBT的core concepts。

clipboard[2]

通览之后,会发现SBT可以用Scala语言来编写项目管理的配置文件!这个我觉得可以为做为Scala也是一种适合DSL语言的佐证了。

2,获取MSI版本安装。本文使用0.12.2。

clipboard[3]

再次检查环境变量的配置。MSI安装应该已经把SBT目录加入Path,上图是我自己的配置。

3,开启cygwin,在上篇的示例目录下直接运行sbt,进入它的交互运行方式:

clipboard[4]

也可以在shell下可以直接运行sbt compile/run/clean 等命令,是等价的。

clipboard[5]

运行完sbt的命令,就会多出来一个target字目录,其中有生成的class文件,其内容较多,这里不再说明。

要 注意一点的是,上图不是首次运行sbt时的demo。初次运行,会自动下载和配置一些内容,所以要保证联网。在Windows XP下,默认是会在C:\Documents and Settings\YOUR_NAME\下生成一个.sbt和一个.ivy目录,当然也可以自己修改。当再次运行sbt,就如上图所示了。若你删除 … 阅读全文

12个最好的 WordPress Bootstrap 插件

  categories:资料  tags:,   author:
来源: http://www.open-open.com/news/view/1254cca
Twitter Bootstrap是最被经常使用的前端框架之一,由Twitter使用HTML, CSS 和 JavaScript语言开发。在这篇文章中,我们已经收集了12个可在WordPress网站中使用的最好 WordPress Bootstrap 插件。

Best WordPress Bootstrap Plugins

Bootstrap Shortcodes

12个最好的 WordPress Bootstrap 插件

This Bootstrap Shortcodes plugin will embed different Twitter based Bootstrap components on the website and the entire implementation of components onto the website is

阅读全文


快乐成长 每天进步一点点