zoukankan      html  css  js  c++  java
  • Hadoop演进与Hadoop生态

    一、了解对比Hadoop不同版本的特性,可以用图表的形式呈现。

      1. Apache Hadoop:是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。称为社区版Hadoop。

      2. 第三方发行版Hadoop:Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本。其中有很多厂家在Apache Hadoop的基础上开发自己的Hadoop产品,比如Cloudera的CDH,Hortonworks的HDP,MapR的MapR产品等。

           

      Apache社区版本

    优点:

      1、完全开源免费。

      2、社区活跃

      3、文档、资料详实

    缺点:

            1、复杂的版本管理。版本管理比较混乱的,各种版本层出不穷,让很多使用者不知所措。

            2、复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下。

            3、复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,运维难度较大。

            4、复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题。

    二、Hadoop生态的组成、每个组件的作用、组件之间的相互关系,以图例加文字描述呈现。

    HBase:

    Google Bigtable的开源实现

    列式数据库

    可集群化

    可以使用shell、web、api等多种方式访问

    适合高读写(insert)的场景

    HQL查询语言

    NoSQL的典型代表产品

    Hive:

    数据仓库工具。可以把Hadoop下的原始结构化数据变成Hive中的表

    支持一种与SQL几乎完全相同的语言HiveQL。除了不支持更新、索引和事务,几乎SQL的其它特征都能支持

    可以看成是从SQL到Map-Reduce的映射器

    提供shell、JDBC/ODBC、Thrift、Web等接口

    Zookeeper:

    Google Chubby的开源实现

    用于协调分布式系统上的各种服务。例如确认消息是否准确到达,防止单点失效,处理负载均衡等

    应用场景:Hbase,实现Namenode自动切换

    工作原理:领导者,跟随者以及选举过程

    Sqoop:

    用于在Hadoop和关系型数据库之间交换数据

    通过JDBC接口连入关系型数据库

    Chukwa:

    架构在Hadoop之上的数据采集与分析框架

    主要进行日志采集和分析

    通过安装在收集节点的“代理”采集最原始的日志数据

    代理将数据发给收集器

    收集器定时将数据写入Hadoop集群

    指定定时启动的Map-Reduce作业队数据进行加工处理和分析

    Pig:

    Hadoop客户端

    使用类似于SQL的面向数据流的语言Pig Latin

    Pig Latin可以完成排序,过滤,求和,聚组,关联等操作,可以支持自定义函数

    Pig自动把Pig Latin映射为Map-Reduce作业上传到集群运行,减少用户编写Java程序的苦恼

    Avro:

    数据序列化工具,由Hadoop的创始人Doug Cutting主持开发 n

    用于支持大批量数据交换的应用。支持二进制序列化方式,可以便捷,快速地处理大量数据 n

    动态语言友好,Avro提供的机制使动态语言可以方便地处理 Avro数据。

     Thrift接口

    Cassandra:

    NoSQL,分布式的Key-Value型数据库,由Facebook贡献

    Hbase类似,也是借鉴Google Bigtable的思想体系

    只有顺序写,没有随机写的设计,满足高负荷情形的性能需求

    Hadoop生态圈流程图:

     

    .官网学习Hadoop的安装与使用,用文档的方式列出步骤与注意事项。

    1.注意事项:Hadoop是作为源代码tarball和相应的二进制tarball发布的,以方便使用。下载文件是通过镜像站点分发的,应使用GPG或SHA-512检查是否被篡改。

    2.

    要使用GPG验证Hadoop版本:

    1. 从镜像站点下载发行版hadoop-XYZ-src.tar.gz 。
    2. Apache下载签名文件hadoop-XYZ-src.tar.gz.asc 。
    3. 下载Hadoop Keys文件。
    4. gpg –导入密钥
    5. gpg –verify hadoop-XYZ-src.tar.gz.asc
    6. 从镜像站点下载发行版hadoop-XYZ-src.tar.gz 。
    7. Apache下载校验和hadoop-XYZ-src.tar.gz.sha512或hadoop-XYZ-src.tar.gz.mds 。
    8. shasum -a 512 hadoop-XYZ-src.tar.gz

    要使用SHA-512快速检查:

    3.hadoop的运行环境应该是在linux环境。如果想在windows环境下安装和运行hadoop,一般有两种方式:一种是VM的方式linux操作系统,这样可以实现全linux环境的hadoop运行;另一种方式安装cygwin模拟linux环境,该方法相对比较简单方便。

    四、评估华为hadoop发行版本的特点与可用性。

    有些版本可自由下载并免费无限制使用。而有些在兼容性,安全性,稳定性上有很大增强。  

  • 相关阅读:
    如何用js得到当前页面的url信息方法(JS获取当前网址信息)
    可拖动大小div案例
    div内div水平垂直居中
    div设置absolute情况下填充剩余宽度
    最近很不顺
    [转载]什么是对象序列化,为什么要使用
    mac下安装eclipse以及python
    Myeclipse 10 for mac 破解版下载安装及破解方法
    IOS7学习之路一(新UI之自定义UITableViewCell)
    Xcode5和ObjC新特性
  • 原文地址:https://www.cnblogs.com/gzcclixin/p/13697160.html
Copyright © 2011-2022 走看看