hadoop2.8.2官方文档之单节点集群

11 篇文章 0 订阅
4 篇文章 0 订阅

目标

本文档描述怎样安装和配置一个单节点的Hadoop,让你最快的使用MapReduce和HDFS来进行一些简单的操作。

需求

平台支持

  • GNU/Linux可以用作开发和正式平台,Hadoop在GNU/Linux平台集群2000个节点已经被证实是可行的。
  • windows平台也是支持的,不过下面文档中的步骤都是在Linux上的,如果要在windows上安装Hadoop,请查看wiki page

软件支持

linux平台上的软件

  • java必须安装,推荐的版本请查看Hadoop java versions
  • ssh必须安装并且使用Hadoop脚本执行sshd来管理远程Hadoop实例。

安装软件

如果你没有这些需求的软件,那么你需要安装他们,在Ubuntu Linux上实例如下:

$ sudo apt-get install ssh

$ sudo apt-get install rsync

下载

Apache Download Mirrors下载一个当前稳定的Hadoop版本.

准备启动Hadoop集群

解压已下载的Hadoop压缩包,然后编辑文件etc/hadoop/hadoop-env.sh,定义一些参数,如下:

export JAVA_HOME=/usr/java/latest

输入下面命令:

$ bin/hadoop

这个命令会展示出一些有用帮助说明,可以使用这些命令来操作hadoop。命令如下:

Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]
  CLASSNAME            run the class named CLASSNAME
 or
  where COMMAND is one of:
  fs                   run a generic filesystem user client
  version              print the version
  jar <jar>            run a jar file
                       note: please use "yarn jar" to launch
                             YARN applications, not this command.
  checknative [-a|-h]  check native hadoop and compression libraries availability
  distcp <srcurl> <desturl> copy file or directories recursively
  archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
  classpath            prints the class path needed to get the
  credential           interact with credential providers
                       Hadoop jar and the required libraries
  daemonlog            get/set the log level for each daemon
  trace                view and modify Hadoop tracing settings

现在万事俱备,只欠东风,你可以开始你的Hadoop集群了。

单节点模式

默认的Hadoop配置运行在非分布式模式,运行在一个java进程下,这对于开发调试来说是有用的。
下面的例子拷贝一些xml文件到input目录下,从这些文件中找到并输出符合给定正则表达式的结果,结果输出到output目录中。

$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.2.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访问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

启动

下面的实例在本地运行MapReduce任务,如果你想运行在YARN,下面在介绍。

1:格式化文件系统
 $ bin/hdfs namenode -format
2:启动NameNode和DataNode
 $ sbin/start-dfs.sh

hadoop日志输出在$HADOOP_LOG_DIR 目录中,默认就是安装目录下的logs目录中。

3:浏览NameNode的web接口

打开浏览器,输出http://localhost:50070/

4:使HDFS目录可执行MapReduce任务
  $ bin/hdfs dfs -mkdir /user
  $ bin/hdfs dfs -mkdir /user/<username>
5:复制input文件到HDFS中
  $ bin/hdfs dfs -put etc/hadoop input
6:执行提供好的实例
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.2.jar grep input output 'dfs[a-z.]+'
7:查看输出文件

先把HDFS中的结果复制到本地文件系统中然后查看。

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

当然你也可以直接在HDFS中查看。

$ bin/hdfs dfs -cat output/*
8:停止
$ sbin/stop-dfs.sh

YARN

你可以使用YARN来运行伪分布模式,通过设置几个参数,启动ResourceManager进程和NodeManager 进程。
假设上面的1-4步骤已经执行完成。

5:配置文件

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>
6:启动ResourceManager 和NodeManager
$ sbin/start-yarn.sh
7:浏览ResourceManager的web接口
http://localhost:8088/
8:执行MapReduce任务

参考上面的6-7步骤

9:停止
 $ sbin/stop-yarn.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值