Hadoop:设置单个节点群集

目的

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

先决条件

支持的平台

  • 支持GNU / Linux作为开发和生产平台。已经在具有2000个节点的GNU / Linux群集上演示了Hadoop。

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

所需的软件

所需的Linux软件包括:

  1. Java™必须安装。推荐的Java版本Hadoop推荐使用的java版本介绍中描述

  2. 必须安装ssh,并且必须运行sshd以使用管理远程Hadoop守护进程的Hadoop脚本。

安装软件

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

例如在Ubuntu Linux上:

  $ sudo apt-get install ssh
  $ sudo apt-get install rsync

下载

要获得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-2.9.0.jar grep input output'dfs [az。] +'
  $ cat输出/ *

伪分布式操作

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

配置

使用以下内容:

etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

设置passphraseless ssh

现在检查你是否可以不用密码ssh到本地主机:

  $ ssh localhost

如果您不能在没有密码的情况下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 -format
    
  2. 启动NameNode守护进程和DataNode守护进程:

      $ sbin / start-dfs.sh
    

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

  3. 浏览NameNode的Web界面; 默认情况下它可用于:

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

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

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

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

      $ bin/hdfs dfs -get output output
      $ cat output/*

    要么

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

      $ bin / hdfs dfs -cat output / *
    
  8. 当你完成后,停止守护进程:

      $ sbin / stop-dfs.sh
    

YARN在单个节点上

您可以通过设置几个参数并运行ResourceManager守护进程和NodeManager守护进程,以伪分布模式在YARN上运行MapReduce作业。

以下说明假设已经执行了上述指令的 1〜4个步骤

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

    <结构>
        <属性>
            <名称> mapreduce.framework.name </名称>
            <值>纱</值>
        </属性>
    </配置>
    

    etc / hadoop / yarn-site.xml

    <结构>
        <属性>
            <名称> yarn.nodemanager.aux服务</名称>
            <值> mapreduce_shuffle </值>
        </属性>
    </配置>
    
  2. 启动ResourceManager守护进程和NodeManager守护进程:

      $ sbin / start-yarn.sh
    
  3. 浏览ResourceManager的Web界面; 默认情况下它可用于:

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

  5. 当你完成后,停止守护进程:

      $ sbin / stop-yarn.sh


猜你喜欢

转载自blog.csdn.net/cyg521/article/details/79010284