ubuntu 下配置 Hadoop 2.6.0 伪分布式

2015年01月09日 陈鑫杰

目的

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

准备

支持平台

  • GNU/Linux的支持作为开发和生产平台。Hadoop的已被证明在2000个节点的GNU/Linux集群上。
  • windows 也是一种支持的平台,但以下步骤为Linux而已。建立Hadoop的Windows上,看到的wiki页面

所需软件

为Linux所需的软件包括:

  1. Java™的必须安装。推荐的Java版本的Hadoop Java Versions描述
  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如下定义一些参数:

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

# Assuming your installation directory is /usr/local/hadoop
export HADOOP_PREFIX=/usr/local/hadoop

试试下面的命令:

$ bin/hadoop

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

现在,你就可以开始你的Hadoop集群中的三种支持方式之一:

  • 单机模式(Local (Standalone) Mode)
  • 伪分布式模式(Pseudo-Distributed Mode)
  • 完全分布式模式(Fully-Distributed Mode)

单机模式操作

默认情况下,Hadoop的被配置为在非分布式模式下运行,作为一个单一的Java程序。这是用于调试。

下面的示例将解压后的conf目录作为输入使用,然后查找并显示每一个匹配给定正则表达式。输出写入指定的输出目录。

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

伪分布式操作

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>

设置SSH免登陆

现在,检查您可以ssh到没有密码的本地主机:

$ ssh localhost

如果你不能通过ssh没有密码为localhost,执行下面的命令:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

执行

以下说明在本地运行一个MapReduce工作。

  1. 格式化文件格式
$ bin/hdfs namenode -format
  1. 启动NameNode的守护和DataNode的守护进程:
 $ sbin/start-dfs.sh

Hadoop的守护程序日志输出写入到$HADOOP_LOG_DIR目录(默认为$HADOOP_HOME/日志)。

  1. 浏览网页界面的NameNode的;默认情况下它可在:
  • NameNode - http://localhost:50070/
  1. 令执行的MapReduce工作所需的HDFS目录:
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
  1. 输入文件复制到分发文件系统:
$ bin/hdfs dfs -put etc/hadoop input
  1. 运行一些所提供的例子:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+'
  1. 检查输出文件:

从分布式文件系统复制输出文件到本地文件系统,并检查它们:

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

or

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

$ bin/hdfs dfs -cat output/*
  1. 当您完成后,停止与守护进程:
$ sbin/stop-dfs.sh

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>
  1. 开始的ResourceManager守护和NodeManager守护进程:
$ sbin/start-yarn.sh
  1. 浏览网页界面ResourceManager中;默认情况下它可在:
  • ResourceManager - http://localhost:8088/
  1. 运行MapReduce工作。

  2. 当您完成后,停止与守护进程:

$ sbin/stop-yarn.sh

完全分布式操作

有关设置完全分布式的信息,不平凡的集群看到群集设置

原文链接:Single Node Cluster

(转载本站文章请注明作者和出处 FoamValue – www.foamvalue.com ——=== 访问 404页面 寻找遗失儿童。 ===——