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

1.对比Hadoop不同版本的特性:

Apache Hadoop

Apache Hadoop是apache提供的官方版本,以yarn框架的出现为标志分为Hadoop第一代和Hadoop第二代,第一代的Hadoop包含三个大版本:0.20.x 、0.21.x 、0.22.x,其中除了0.20.x(后来演变为了1.0.x版本)是稳定的版本之外,其他的皆为不稳定版本。第二代Hadoop跟第一代相比有了明显的不同,包含了HDFS Federation和 YARN系统。

CDH

Cloudera公司的发行版,市场上称之为CDH(Cloudera Distribution Hadoop),截止目前为止已经到了CDH6,目前较常用的是CDH3以上的版本,CDH3对应于hadoop 1.0,而CDH4和CDH5对应于hadoop2.0.Cloudera,版本层次明确,代码也是完全开源,并且集群部署工具比较完善以及教程等相对较多,社区活跃。

Hortonworks

Hortonworks提供的hadoop发行版称为HDP(Hortonworks Data Platform),也是全开源的系统。HDP除了包含常见的项目外还包含了Ambari,一款开源的安装和管理系统。一个元数据管理系统HCatlog,还包含HBase、Hive、Pig等一整套大数据解决方案技术。
Hortonworks在管理工具和集群部署方面有其独特优势。

IBM

IBM不提供只针对Hadoop的发行版,而是在原生hadoop的基础上进行了增强,例如增强了安全认证、作业调度等,采用Pig,Hive,HBase等技术开发了IBM的InfoSphere BigInsights大数据平台,一般面向IBM企业用户。

华为

华为在国内大数据领域也是走在前列的,其在Apache Hadoop的基础上利用本身的硬件能力进行了一些增强,例如故障自动Failover,增强HA功能等,其发布的版本为FusionInsight Hadoop。

 

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

(1),HDFS(hadoop分布式文件系统)

是hadoop体系中数据存储管理的基础。他是一个高度容错的系统,能检测和应对硬件故障。

(2),mapreduce(分布式计算框架)

mapreduce是一种计算模型,用于处理大数据量的计算。其中map对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。

(3), hive(基于hadoop的数据仓库)

由Facebook开源,最初用于解决海量结构化的日志数据统计问题。

(4),hbase(分布式列存数据库)

hbase是一个针对结构化数据的可伸缩,高可靠,高性能,分布式和面向列的动态模式数据库。和传统关系型数据库不同,hbase采用了bigtable的数据模型:增强了稀疏排序映射表(key/value)。其中,键由行关键字,列关键字和时间戳构成,hbase提供了对大规模数据的随机,实时读写访问,同时,hbase中保存的数据可以使用mapreduce来处理,它将数据存储和并行计算完美结合在一起。

(5),zookeeper(分布式协作服务)

解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

(6),sqoop(数据同步工具)

sqoop是sql-to-hadoop的缩写,主要用于传统数据库和hadoop之间传输数据。

(7),pig(基于hadoop的数据流系统)

定义了一种数据流语言-pig latin,将脚本转换为mapreduce任务在hadoop上执行。

(8),mahout(数据挖掘算法库)

mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建只能应用程序。

(9),flume(日志收集工具)

cloudera开源的日志收集系统,具有分布式,高可靠,高容错,易于定制和扩展的特点。

 

 

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

目的

本文档介绍了如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单的操作。

先决条件

支持平台

  • 支持GNU / Linux作为开发和生产平台。Hadoop在具有2000个节点的GNU / Linux集群上得到了证明。

  • Windows也是受支持的平台,但是以下步骤仅适用于Linux。要在Windows上设置Hadoop,请参见wiki页面

必备软件

Linux所需的软件包括:

  1. 必须安装Java™。HadoopJavaVersions中描述了推荐的Java版本

  2. 如果要使用可选的启动和停止脚本,则必须安装ssh并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本。另外,建议也安装pdsh以便更好地进行ssh资源管理。

安装软件

如果您的群集没有必需的软件,则需要安装它。

下载

要获得Hadoop发行版,请从Apache下载镜像之一下载最新的稳定版本

准备启动Hadoop集群

解压缩下载的Hadoop发行版。在发行版中,编辑文件etc / hadoop / hadoop-env.sh以定义一些参数,如下所示:

  #设置为Java安装的根目录
  导出JAVA_HOME = / usr / java / latest

尝试以下命令:

  $ bin / hadoop

这将显示hadoop脚本的用法文档。

现在,您可以以三种支持的模式之一启动Hadoop集群:

下面介绍第一种模式

独立运行

默认情况下,Hadoop被配置为在非分布式模式下作为单个Java进程运行。这对于调试很有用。

下面的示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出被写入给定的输出目录。

  $ mkdir输入
  $ cp etc / hadoop / *。xml输入
  $ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-3.2.1.jar grep输入输出'dfs [az。] +'
  $ cat输出/ *

 

 

posted @ 2020-09-18 11:09  约翰克里斯朵夫  阅读(116)  评论(0编辑  收藏  举报