hadoop单机环境配置

来源:互联网 发布:佳能mp288软件下载 编辑:程序博客网 时间:2024/05/16 13:56

Hadoop: 安装单节点集群。

目的

此文主要讲单节点 Hadoop的安装和配置,并且演示了 Hadoop MapReduce 和 Hadoop分布式文件系统(HDFS)的使用。

先决条件

平台支持

  • 支持GNU/Linux平台,作为开发和生产环境,支持2000个节点的hadoop集群。

  • 支持Windows平台,下面仅介绍Linux环境。Windows下面的安装请查看wiki page.

所需软件

Linux下需要安装以下软件:

  1. 必须安装Java™ , HadoopJavaVersions.给出了推荐的Java版本。

  2. 必须安装ssh 并已经启动sshd ,这样Hadoop远程节点之间才可以相互执行脚本。

安装过程

先安装必要的软件,如果您的系统没有以下工具。

以 Ubuntu Linux 为例:

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

下载

获取Hadoop发行版本,下载最新的稳定版本,从Apache Download Mirrors.

准备启动Hadoop集群

解压下载的Hadoop分发包,编辑以下文件 etc/hadoop/hadoop-env.sh,定义如下的参数:

  # set to the root of your Java installation  export JAVA_HOME=/usr/java/latest

执行以下的命令:

  $ bin/hadoop

然后会显示hadoop的脚本使用方法.

最后可以通过以下3种模式启动Hadoop集群:

  • 单机模式
  • 伪分布式模式
  • 分布式模式

单机模式

默认情况下,Hadoop使用单个的Java进程运行单机模式,便于调试。

下面的例子将解压后的conf目录作为输出,然后查找和显示给定正则表达式的文件。输出结果到给定的output目录。

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

伪分布式模式

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>

配置免密登录

测试一下能否不使用密码 ssh登陆到localhost :

  $ ssh localhost

如果可以,执行下面的命令:

  $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  $ export HADOOP\_PREFIX=/usr/local/hadoop

执行

使用下面的指令在本地执行MapReduce作业。如果想在YARN上执行作业,请看YARN on Single Node.

  1. 格式化文件系统:

      $ bin/hdfs namenode -format
  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/<username>
  5. 将输入文件copy到分布式系统:

      $ bin/hdfs dfs -put etc/hadoop input
  6. 运行配套的例子:

      $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'
  7. 将输出文件从分布式文件系统copy到本地:

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

    或者

    在分布式文件系统查看:

      $ bin/hdfs dfs -cat output/*
  8. 完成上述操作,使用以下命令结束进程:

      $ sbin/stop-dfs.sh

单节点的YARN

通过设置下面的参数,启动ResourceManager进程和NodeManager进程,可以在伪分布式的YARN上运行MapReduce作业。

确保上面的第一步到第四步已经执行。

  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的网页接口,默认在以下地址:

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

  5. 执行完毕,使用下面的命令结束进程:

      $ sbin/stop-yarn.sh

分布式模式

分布式模式请查看 Cluster Setup.


原文地址:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/SingleCluster.html

0 0