第二次作业 Hadoop演进与Hadoop生态

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

1、Apache Hadoop2.0版本,有以下模块:

Hadoop通用模块,支持其他Hadoop模块的通用工具集;

Hadoop分布式文件系统(HDFS),支持对应用数据高吞吐量访问的分布式文件系统;

Hadoop YARN,用于作业调度和集群资源管理的框架;

Hadoop MapReduce,基于YARN的大数据并行处理系统。

Hadoop目前除了社区版,还有众多厂商的发行版本。

2、Cloudera:最成型的发行版本,拥有最多的部署案例;提供强大的部署、管理和监控工具。开发并贡献了可实时处理大数据的Impala项目。

3、Hortonworks:100%开源的Apache Hadoop唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元数据服务特性的提供商。而且,他们的Stinger极大地优化了Hive项目。Hortonworks为人们提供了一个非常好的、易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Servers和Windows Azure在内的Microsoft Windows平台上本地运行。

4、MapR:与竞争者相比,它使用了一些不同的概念,特别是为了获取更好的性能和易用性而支持本地UNIX文件系统而不是HDFS(使用非开源的组建)。我们可以使用本地UNIX命令来代替Hadoop命令。除此之外,MapR还凭借如快照、镜像或有状态的故障恢复之类的高可用性特性来与其他竞争者相区别。该公司也领导着Apache Drill项目,本项目是Google的Dremel的开源项目的重新实现,目的是在Hadoop数据上执行类似SQL的查询以提供实时处理。

5、Amazon Elastic Map Reduce(EMR):区别与其他提供商的是,这是一个托管的解决方案,其运行在由Amazon Elastic Compute Cloud(Amazon EC2)和Amazon Simple Storage Service(Amazon S3)组成的网络规模的基础设施之上。除了Amazon的发行版本之外,也可以在EMR上使用MapR,临时集群是主要的使用情形。如果你需要一次性的或者不常见的大数据处理,EMR可能为你节省大笔开支。然而,这也存在不利之处。其只包含了Hadoop生态系统中的Pig和Hive项目,在默认的情况下不包含很多其他项目。并且,EMR是高度优化成与S3中的数据一起工作的,这种方式会有较高的延时并且不会定位于你的计算节点上的数据。所以处于EMR上的文件IO相比于你自己的Hadoop集群或者你的私有EC2集群来说慢很多,并有更大的延时。

 

二、

 

 

 

MapReduce:

      主要由Google Reduce而来,它简化了大型数据的处理,是一个并行的,分布式处理的编程模型。

      hadoop2.0它是基于YARN框架构建的。YARN的全称是Yet-Another-Resource-Negotiator。Yarn可以运用在S3|Spark等上。

HDFS:

   它是由Google File System而来,全称是Hadoop Distributed File System,是Hadoop的分布式文件系统,有许多机器组成的,可以存储大型数据文件。

   它是由NameNode和DataNode组成,NameNode可以配置成HA(高可用),避免单点故障。一般用Zookeeper来处理。两个NameNode是同步的。

Hive:

    它是Hadoop的数据仓库(DW),它可以用类似SQL的语言HSQL来操作数据,很是方便,主要用来联机分析处理OLAP(On-Line Analytical Processing),进行数据汇总|查询|分析。

HBase:

    它是由Google BigTable而来。是Hadoop的数据库。HBase底层还是利用的Hadoop的HDFS作为文件存储系统,可以利用Hadoop的MR来处理HBase的数据,它也通常用Zookeeper来做协同服务。

Zookeeper:

      它是一个针对大型分布式系统的可靠协调系统,在Hadoop|HBase|Strom等都有用到,它的目的就是封装好复杂易出错的关键服务,提供给用户一个简单|可靠|高效|稳定的系统。提供配置维护|分布式同步|名字服务等功能,Zookeeper主要是通过lead选举来维

      护HA或同步操作等

Pig: 

    它提供一个引擎在Hadoop并行执行数据流。它包含了一般的数据操作如join|sort|filter等,它也是使用MR来处理数据。

Mahout:

    它是机器学习库。提供一些可扩展的机器学习领域经典算法的实现,目的是帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐算法等。

 

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

(一)、hadoop安装及注意事项
1.安装hadoop的环境,必须在你的系统中有java的环境。
2.必须安装ssh,有的系统默认就安装,如果没有安装需要手动安装。
    可以用yum install -y ssh 或者 rpm -ivh ssh的rpm包进行安装

(二)、安装并配置环境变量
hadoop需要在java的环境中运行,需要安装JDK。
1.在官网上下载jdk,网址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
2.进入选择相应的rpm包或者tar包,进行安装。我这里是下载的rpm包,因为这样比较方便。用rpm包不需要进行环境变量的配置就可以使用了。
    # rpm -ivh /usr/java/jdk1.8.0_60.rpm
3.检查java环境是否安装成功。

4.修改相应的配置文件信息,制定相应的java_home
        #vi /usr/local/hadoop/hadoop-2.7.1/ etc/hadoop/hadoop-env.sh
     # set to the root of your Java installation
        export JAVA_HOME=/usr/java/latest    #显示当前jdk安装的目录  一般rpm是安装在 usr 目录下
5.配置hadoop的环境变量(使hadoop的命令加到path中,就可以使用hadoop的相关命令)
      ①.编辑/etc/profile文件,在文件的后面加上如下代码:
        HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.1
        PATH=$HADOOP_HOME\bin:$PATH
        export HADOOP_HOME PATH
      ②.使修改的文件生效
        source /etc/profile
这样就可以进入hadoop的安装目录去进行相关的命令操作了。

 

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

华为在硬件上具有天然的优势,在网络、虚拟化、PC等方面都有很强的硬件实力。华为的Hadoop版本基于自主研发的Hadoop HA平台,具有构建NameNode、JobTracker、HiveServer的HA功能,进程故障后系统自动进行Failover,无须人工干预,这也是对Hadoop功能不足的小修补,远不如MapR解决得彻底。

posted @ 2020-09-19 21:17  金腰带小拳石  阅读(124)  评论(0编辑  收藏  举报