Hadoop 2.x 版本的单机模式安装

时间:2022-12-14 05:22:23

Hadoop 2.x 版本比起之前的版本在Hadoop和MapReduce上做了许多变化,主要的变化之一,是JobTracker被ResourceManager和ApplicationManager所替代。这种架构上的改变使得hadoop可以扩展到更大规模的集群上。

本篇文章用于介绍如何在单节点上安装Hadoop 2.x。

先决条件:

  • Java 6 已经安装
  • SSH 已经配置

安装Hadoop 2.x 的详细步骤:

1、下载源代码

你可以从这里下载Hadoop 2.x的源代码,解压到文件夹/home/hduser/yarn。这里我们假定hadoop的特定用户为hduser。

$ cd /home/hduser/yarn
$ sudo chown -R hduser:hadoop hadoop-2.0.1-alpha

2、设置环境变量

$ export HADOOP_HOME=$HOME/yarn/hadoop-2.0.1-alpha
$ export HADOOP_MAPRED_HOME=$HOME/yarn/hadoop-2.0.1-alpha
$ export HADOOP_COMMON_HOME=$HOME/yarn/hadoop-2.0.1-alpha
$ export HADOOP_HDFS_HOME=$HOME/yarn/hadoop-2.0.1-alpha
$ export HADOOP_YARN_HOME=$HOME/yarn/hadoop-2.0.1-alpha
$ export HADOOP_CONF_DIR=$HOME/yarn/hadoop-2.0.1-alpha/etc/hadoop

这一步非常关键,如果某个环境变量没有设置或者值不正确,会给后面对错误的排查带来困难并且导致job的失败。

可以把这些设置写入~/.bashrc或者其他启动脚本,以避免你需要每次都去设置它们。

3、生成目录

生成被namenode和datanode分别使用的两个目录

$ mkdir -p $HOME/yarn/yarn_data/hdfs/namenode
$ mkdir -p $HOME/yarn/yarn_data/hdfs/datanode

4、修改配置文件

这一步很关键。标红的字为需要添加进去或者修改的内容。

$ cd $HADOOP_HOME

etc/hadoop/yarn-site.xml:

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

etc/hadoop/core-site.xml:

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

etc/hadoop/hdfs-site.xml:

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hduser/yarn/yarn_data/hdfs/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hduser/yarn/yarn_data/hdfs/datanode</value>

</property>

etc/hadoop/mapred-site.xml:

如果这个文件不存在,需要生成一个并且黏贴下面提供的内容进去:

<?xml version="1.0"?>

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

5、格式化namenode

这一步只需要在第一次安装时进行,如果经常格式化namenode则会导致HDFS内容的丢失。

$ bin/hadoop namenode -format

6、启动HDFS进程

Name node:

$ sbin/hadoop-daemon.sh start namenode
$ jps

18509 Jps

17107 NameNode

Data node:

$ sbin/hadoop-daemon.sh start datanode
$ jps

18509 Jps

17107 NameNode

17170 DataNode

7、启动Map-Reduce进程

Resource Manager:

$ sbin/yarn-daemon.sh start resourcemanager
$ jps

18509 Jps

17107 NameNode

17170 DataNode

17252 ResourceManager

Node Manager:

$ sbin/yarn-daemon.sh start nodemanager
$ jps

18509 Jps

17107 NameNode

17170 DataNode

17252 ResourceManager

17309 NodeManager

Job History Server:

$ sbin/mr-jobhistory-daemon.sh start historyserver
$ jps

18509 Jps

17107 NameNode

17170 DataNode

17252 ResourceManager

17309 NodeManager

17626 JobHistoryServer

8、网页界面

在浏览器中输入http://localhost:50070浏览HDFS,也可以通过http://localhost:8088来检查应用程序的运行状况

9、关闭进程

$ sbin/hadoop-daemon.sh stop namenode
$ sbin/hadoop-daemon.sh stop datanode
$ sbin/yarn-daemon.sh stop resourcemanager
$ sbin/yarn-daemon.sh stop nodemanager
$ sbin/mr-jobhistory-daemon.sh stop historyserver

至此,Hadoop 2.x 版本的单机模式安装就完成了。