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 版本的单机模式安装就完成了。