第2次作业

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


(1)Apache Hadoop 社区版

Apache Hadoop完全开源免费,社区活跃,且文档、资料详实。

但是Apache Hadoop有很多缺点:

1、复杂的版本管理。版本管理比较混乱的,各种版本层出不穷;

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

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

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

 (2)DKhadoop发行版

       DKhadoop发行版有效的集成了整个HADOOP生态系统的全部组件,并深度优化,重新编译为一个完整的更高性能的大数据通用计算平台,实现了各部件的有机协调。因此DKH相比开源的大数据平台,在计算性能上有了高达5倍(最大)的性能提升。DKhadoop将复杂的大数据集群配置简化至三种节点(主节点、管理节点、计算节点),极大的简化了集群的管理运维,增强了集群的高可用性、高可维护性、高稳定性。

(3)Cloudera发行版

       Cloudera发行版CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。

(4)Hortonworks

        Hortonworks 的主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,其版本特点:HDP包括稳定版本的Apache Hadoop的所有关键组件;安装方便,HDP包括一个现代化的,直观的用户界面的安装和配置工具。

 

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

 

 

 (1)HDFS

Hadoop分布式文件系统HDFS是针对谷歌分布式文件系统(Google File System,GFS)的开源实现,它是Hadoop两大核心组成部分之一,提供了在廉价服务器集群中进行大规模分布式文件存储的能力。

(2)MapReduce

MapReduce 是一种分布式并行编程模型,用于大规模数据集(大于1TB)的并行运算,它将复杂的、运行于大规模集群上的并行计算过程高度抽象到两个函数:Map和Reduce。MapReduce极大方便了分布式编程工作,编程人员在不会分布式并行编程的情况下,也可以很容易将自己的程序运行在分布式系统上,完成海量数据集的计算。

(3)HBase

HBase 是针对谷歌 BigTable 的开源实现,是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。

HBase可以支持超大规模数据存储,它可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行元素和数百万列元素组成的数据表

HBase利用MapReduce来处理HBase中的海量数据,实现高性能计算;利用 Zookeeper 作为协同服务,实现稳定服务和失败恢复;使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力,当然,HBase也可以在单机模式下使用,直接使用本地文件系统而不用 HDFS 作为底层数据存储方式,不过,为了提高数据可靠性和系统的健壮性,发挥HBase处理大量数据等功能,一般都使用HDFS作为HBase的底层数据存储方式。此外,为了方便在HBase上进行数据处理,Sqoop为HBase提供了高效、便捷的RDBMS数据导入功能,Pig和Hive为HBase提供了高层语言支持。

(4)YARN

YARN 是负责集群资源调度管理的组件。YARN 的目标就是实现“一个集群多个框架”,即在一个集群上部署一个统一的资源调度管理框架YARN,在YARN之上可以部署其他各种计算框架,比如MapReduce、Tez、Storm、Giraph、Spark、OpenMPI等,由YARN为这些计算框架提供统一的资源调度管理服务(包括 CPU、内存等资源),并且能够根据各种计算框架的负载需求,调整各自占用的资源,实现集群资源共享和资源弹性收缩。

(5)Hive

Hive是一个基于Hadoop的数据仓库工具,可以用于对存储在Hadoop文件中的数据集进行数据整理、特殊查询和分析处理。

Hive的学习门槛比较低,因为它提供了类似于关系数据库SQL语言的查询语言——HiveQL,可以通过HiveQL语句快速实现简单的MapReduce统计,Hive自身可以自动将HiveQL语句快速转换成MapReduce任务进行运行,而不必开发专门的MapReduce应用程序,因而十分适合数据仓库的统计分析。

(6)Flume

Flume 是 Cloudera 公司开发的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统。

Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接收方的能力。

(7)Sqoop

Sqoop是SQL-to-Hadoop的缩写,主要用来在Hadoop和关系数据库之间交换数据,可以改进数据的互操作性。

通过Sqoop,可以方便地将数据从MySQL、Oracle、PostgreSQL等关系数据库中导入Hadoop(比如导入到HDFS、HBase或Hive中),或者将数据从Hadoop导出到关系数据库,使得传统关系数据库和Hadoop之间的数据迁移变得非常方便。

 

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

 

1.需要装备配置环境:

在Hadoop安装与配置之前,需要准备的环境:虚拟机、Linux系统、配置JDK环境变量。

2.下载安装包

去官网下载安装包。

3.上传解压

1.在/usr/local/src/目录下为Hadoop创建个目录:mkdir hadoop
2.上传
3.解压:tar -zxvf hadoop-2.9.1.tar.gz

4.分析解压hadoop目录

bin文件夹中存放的是一些可执行的脚本(我们用到的比较多的是hadoop、hdfs、yarn);
etc存放的是hadoop的配置文件,这个etc跟linux根目录下的etc是不一样的;
include存放的是本地库的一些头文件;
lib存放的是本地库的文件其所依赖的jar包在share目录下;
sbin里面存放的是关于启动和停止相关的内容(如 start-all.sh、start-dfs.sh、stop-all.sh、stop-dfs.sh等);

5.修改5个配置文件

修改配置文件 hadoop-env. sh;修改配置文件core-site.xml;修改配置文件hdfs-site.xml;修改配置文件mapred-site.xml;修改配置文件yarn-site.xml;修改配置文件slaves

 

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

特点:华为FusionInsight HD发行版紧随开源社区的最新技术,快速集成最新组件,并在可靠性、安全性、管理性等方面做企业级的增强,持续改进,持续保持技术领先。

方便用户使用:统一运维管理;易集成;易开发;

安全:架构安全;认证安全;文件系统层加密;

可靠:所有管理节点组件均实现HA(High Availability);集群异地灾备;数据备份恢复;

可用性:目前来看 华为发行的hadoop版本还是具备较高的可用性。

posted @ 2020-09-19 15:55  郑兆岳  阅读(155)  评论(0编辑  收藏  举报