大数据平台基础架构和常用处理工具

什么是大数据?必看》》形象描述大数据技术生态圈 


一、大数据在线分析处理和常用工具

    1、大数据在线分析和处理特点:

       * 数据源源不断到来;

       * 数据需要尽快处理,不能积压;

       * 处理后的数据依然是TB或PB级的数据量;

       * 处理结果尽快展现;

  总结为:数据的收集-——数据传输——数据处理——数据展现(可视化),其中,数据处理一般涉及数据的聚合,数据处理和数据展现能够在秒级得到响应。


2、工具:

(1) flume   主要用于数据的收集和传输。类似的大数据开源系统有 Logstash和Fluentd。

   三者区别:

   * Logstash主要和Elasticsearch、Kibana结合使用,即ELK框架;Logstash主要负责将数据源的数据转换成Elasticsearch认识的索引结构供Kibana查询。

  *  Fluentd逐渐被Flume代替。

  * Flume能够支持多种数据源,并且输出到多种输出源,支持多种格式的数据。


Flume的架构主要有一下几个核心概念:

  Event:一个数据单元,带有一个可选的消息头

  Flow:Event从源点到达目的点的迁移的抽象

  Client:操作位于源点处的Event,将其发送到Flume Agent

  Agent:一个独立的Flume进程,包含组件Source、Channel、Sink

  Source:用来消费传递到该组件的Event。连接的输入源可以有Avro、Thrift、Exec(Unix command output)、JMS(Java Message Service)、Kafka、NetCat(可以使用nc -lk port 测试)、Syslog.....

Channel:中转Event的一个临时存储,flume内部数据传输通道,保存有Source组件传递过来的Event。主要包括Memory Channel和File Channel。

Sink:从Channel中读取并移除Event,将Event传递到Flow Pipeline中的下一个Agent(如果有的话)。连接的输出源可以有Hdfs、Hive、Avro、Thrift、File Roll 、Hbase、Kafka......

   Flume NG架构:

大数据平台基础架构和常用处理工具_第1张图片

多个Agent连接形成Agent链:


大数据平台基础架构和常用处理工具_第2张图片

多个Agent进行数据源的合并:


大数据平台基础架构和常用处理工具_第3张图片

多路Agent:


大数据平台基础架构和常用处理工具_第4张图片

实现load balance功能:


大数据平台基础架构和常用处理工具_第5张图片

(2)kafka    主要用于前端日志的存储,用作缓冲


(3)Storm /Spark  专注于将数据按照时间窗口进行聚合处理,被称为流式处理框架。

        * Storm提供比Spark更加实时的流式处理;

       * Spark提供比Storm更多的服务,Spark 已经形成类似Hadoop的生态圈。

Spark 生态圈如下所示:

大数据平台基础架构和常用处理工具_第6张图片

目前,Spark 有三种集群管理模式:

  * Standalone :一种简单的集群管理,其包括一个很容易搭建集群的Spark;

  * Apache Mesos:一种通用的集群管理模式,可以运行Hadoop Mapreduce和服务应用的模式;

  * Hadoop YARN : Hadoop 2.0中的资源管理模式;


(4)Hbase /Redis   提供大数据存储和提供查询。类似的大数据开源系统有Cassandra.

   * Cassandra 满足可用性和分区容忍性,允许数据的不一致(不同的客户端可能看到不一样的情况),提供了类似SQL的CQL查询语言,查询方便;

  * Hbase 满足一致性和分区容忍性,拥有强大的记录一致性,但是不支持SQL,需要使用第三方服务来支持SQL(如 Apache Phoenix);


未完待续。。。。


         

二、大数据离线处理和常用工具


未完待续。。。。

你可能感兴趣的:(大数据平台基础架构和常用处理工具)