Hadoop实践(二)---Hadoop单机模式

1.目的

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

2.前期准备

2.1支持的平台

  • 支持GNU / Linux作为开发和生产平台。 Hadoop已经在具有2000个节点的GNU / Linux集群上演示。
  • Windows也是一个受支持的平台,但以下步骤仅适用于Linux。要在Windows上设置Hadoop,请参阅wiki页面。

2.2所需软件

Linux所需的软件包括:
  1. 必须安装Java™。推荐的Java版本在Hadoop Java Versions中描述。
  2. 必须安装ssh并且sshd必须正在运行才能使用管理远程Hadoop守护程序的Hadoop脚本。

2.3安装软件

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

例如在Ubuntu Linux上:
$ sudo apt-get install ssh
$ sudo apt-get install rsync

3.下载

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

4.准备启动Hadoop集群

解压下载的Hadoop发行版。在分发中,编辑文件etc / hadoop / hadoop-env.sh以定义一些参数,如下所示:
# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest
尝试以下命令:
$ bin/hadoop

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

现在您已准备好以三种受支持的模式之一启动Hadoop群集:
  • 本地(独立)模式
  • 伪分布模式
  • 全分布模式

5.独立模式

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

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

  $ mkdir input
  $ cp etc/hadoop/*.xml input
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'
  $ cat output/*

6.伪分布式操作

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

6.1配置

使用以下内容:

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>

6.2设置passphraseless ssh

现在检查你可以ssh到localhost没有密码:
  $ ssh localhost
如果您不能ssh到localhost没有密码,请执行以下命令:
 $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 $ chmod 0600 ~/.ssh/authorized_keys

6.3执行

以下说明是在本地运行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.7.3.jar grep input output 'dfs[a-z.]+'
7.检查输出文件:
7.1将输出文件从分布式文件系统复制到本地文件系统并检查它们:
  $ bin/hdfs dfs -get output output
  $ cat output/*
7.2查看分布式文件系统上的输出文件:
 $ bin/hdfs dfs -cat output/*
8.当你完成后,停止守护进程:
 $ sbin/stop-dfs.sh

7.YARN在单个节点上

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

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

1.配置参数如下:etc / hadoop / mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
etc/hadoop/yarn-site.xml:
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
2.启动ResourceManager守护程序和NodeManager守护程序:
 $ sbin/start-yarn.sh
3.浏览ResourceManager的Web界面;默认情况下它在以下位置可用:

ResourceManager - http://localhost:8088/

4.运行MapReduce作业。
5.当你完成后,停止守护进程:
  $ sbin/stop-yarn.sh

8.全分布式操作

有关设置完全分布式,非平凡群集的信息,请参阅群集设置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值