作业2 Hadoop演进与Hadoop生态

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

答:DKhadoop发行版:有效的集成了整个HADOOP生态系统的全部组件,并深度优化,重新编译为一个完整的更高性能的大数据通用计算平台,实现了各部件的有机协调。因此DKH相比开源的大数据平台,在计算性能上有了高达5倍(最大)的性能提升。

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

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

华为hadoop发行版:华为的hadoop版本基于自研的Hadoop HA平台,构建NameNode、JobTracker、HiveServer的HA功能,进程故障后系统自动Failover,无需人工干预,这个也是对hadoop的小修补,远不如mapR解决的彻底。

2.Hadoop生态的组成、每个组件的作用、组件之间的相互关系。

答:Hadoop主要组件包含:

Hadoop:Java编写的软件框架,以支持数据密集型分布式应用

ZooKeeper:高可靠性分布式协调系统

MapReduce:针对大数据的灵活的并行数据处理框架

HDFS:Hadoop分布式文件系统

Oozie:负责MapReduce作业调度

HBase:Key-value数据库

Hive:构建在MapRudece之上的数据仓库软件包

Pig:Pig是架构在Hadoop之上的高级数据处理层。Pig Latin语言为编程人员提供了更直观的定制数据流的方法。

 

 

 Hadoop MapReduce方法的应用范围以及典型的特征

  • 庞大的数据量
  • 较少或没有数据依赖
  • 包含结构化和非结构化数据
  • 适合大规模的并行处理

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

答:

准备启动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-2.10.0.jar grep输入输出'dfs [az。] +'
  $ cat输出/ *

伪分布式操作

Hadoop也可以以伪分布式模式在单节点上运行,其中每个Hadoop守护程序都在单独的Java进程中运行。

组态

使用以下内容:

等/hadoop/core-site.xml:

<配置>
    <属性>
        <名称> fs.defaultFS </名称>
        <value> hdfs:// localhost:9000 </ value>
    </ property>
</ configuration>

等/hadoop/hdfs-site.xml:

<配置>
    <属性>
        <name> dfs.replication </ name>
        <value> 1 </ value>
    </ property>
</ configuration>

设置无密码SSH

现在检查您是否可以在不使用密码的情况下SSH到本地主机:

  $ ssh本地主机

如果没有密码就无法SSH到本地主机,请执行以下命令:

  $ ssh-keygen -t rsa -P''-f〜/ .ssh / id_rsa
  $ cat〜/ .ssh / id_rsa.pub >>〜/ .ssh / authorized_keys
  $ chmod 0600〜/ .ssh / authorized_keys

执行

以下说明是在本地运行MapReduce作业。如果要在YARN上执行作业,请参阅YARN在单节点上

  1. 格式化文件系统:

      $ bin / hdfs namenode-格式
    
  2. 启动NameNode守护程序和DataNode守护程序:

      $ sbin / start-dfs.sh
    

    hadoop守护程序日志输出将写入$ HADOOP_LOG_DIR目录(默认为$ HADOOP_HOME / logs)。

  3. 浏览Web界面的NameNode;默认情况下,它在以下位置可用:

    • NameNode- http:// localhost:50070 /
  4. 设置执行MapReduce作业所需的HDFS目录:

      $ bin / hdfs dfs -mkdir / user
      $ bin / hdfs dfs -mkdir / user / <用户名>
    
  5. 将输入文件复制到分布式文件系统中:

      $ bin / hdfs dfs -put etc / hadoop输入
    
  6. 运行提供的一些示例:

      $ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.10.0.jar grep输入输出'dfs [az。] +'
    
  7. 检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们:

      $ bin / hdfs dfs-获取输出输出
      $ cat输出/ *
    

    要么

    查看分布式文件系统上的输出文件:

      $ bin / hdfs dfs -cat输出/ *
    
  8. 完成后,使用以下命令停止守护进程:

      $ sbin / stop-dfs.sh
    

在单个节点上的YARN

您可以通过设置一些参数并另外运行ResourceManager守护程序和NodeManager守护程序,以伪分布式模式在YARN上运行MapReduce作业。

以下指令假定上述指令的1.〜4. 步骤已经执行。

  1. 如下配置参数:etc / hadoop / mapred-site.xml

    <配置>
        <属性>
            <name> mapreduce.framework.name </ name>
            <value>纱线</ value>
        </ property>
    </ configuration>
    

    etc / hadoop / yarn-site.xml

    <配置>
        <属性>
            <name> yarn.nodemanager.aux-services </ name>
            <value> mapreduce_shuffle </ value>
        </ property>
    </ configuration>
    
  2. 启动ResourceManager守护程序和NodeManager守护程序:

      $ sbin / start-yarn.sh
    
  3. 浏览Web界面以找到ResourceManager;默认情况下,它在以下位置可用:

    • ResourceManager- http:// localhost:8088 /
  4. 运行MapReduce作业。

完成后,使用以下命令停止守护进程:

  $ sbin / stop-yarn.sh
4.评估华为hadoop发行版本的特点与可用性。
答:华为的hadoop版本基于自研的Hadoop HA平台,构建NameNode、JobTracker、HiveServer的HA功能,进程故障后系统自动Failover,无需人工干预,这个也是对hadoop的小修补。
posted @ 2020-09-19 21:02  隔壁老尤  阅读(184)  评论(0编辑  收藏  举报