Hadoop Installation - Pseudodistributed Mode

Hadoop Installation - Pseudodistributed Mode

目录

Hadoop 版本:2.6.4; Linux 版本:CentOS Linux release 7.2.1511 (Core)

在一台机器上安装 Hadoop 是很 easy 的。本文档介绍 Hadoop 的伪分布式集群搭建(所谓 伪分布式,是指 Hadoop 的每个部分各起一个进程,而纯单机模式的 Hadoop,则是所有部分均在一个 JVM 中)。


准备条件

确保 Java 已经安装。这里 看一下 Hadoop 支持的 Java 版本,然后用如下命令看下本机上的 Java 版本:

# java -version
openjdk version "1.8.0_71"
OpenJDK Runtime Environment (build 1.8.0_71-b15)
OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode)

安装

这里下载 Hadoop 的稳定版本(本文用的是 2.6.4),然后解压:

# tar zxvf hadoop-2.6.4.tar.gz

在运行 Hadoop 之前,需要告诉它 Java 的路径,所以必须配置好 JAVA_HOME 环境变量。可以在 Hadoop 的安装路径下的 etc/hadoop 目录中的 hadoop-env.sh 中设置 JAVA_HOME 变量。比如,我自己的机器上设置:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-2.b15.el7_2.x86_64

同样,最好定义一个环境变量指向 Hadoop 的安装目录(HADOOP_HOME),并将其放在 PATH 下。比如,在 /etc/profile 下输入:

export HADOOP_HOME=~/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

注意到 sbin 目录下含有很多运行 Hadoop 后台进程的脚本,所以把它们放在 PATH 下。
然后,敲一下以下命令确认一下配置没问题:

# hadoop version
Hadoop 2.6.4
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 5082c73637530b0b7e115f9625ed7fac69f937e6
Compiled by jenkins on 2016-02-12T09:45Z
Compiled with protoc 2.5.0
From source with checksum 8dee2286ecdbbbc930a6c87b65cbc010
This command was run using /home/stephen/hadoop-2.6.4/share/hadoop/common/hadoop-common-2.6.4.jar

配置

每一个 Hadoop 组件的配置都使用一个 XML 文件。四个组件Common,HDFS,MapReduce 和 YARN 的配置文件分别对应 core-site.xml,hdfs-site.xml,mapred-site.xml 和 yarn-site.xml. 这些文件均在 Hadoop 安装目录下的 etc/hadoop 的子目录中。

伪分布式集群模式中,四个 xml 文件的内容可以按照如下配置:

<?xml version="1.0"?>
<!-- core-site.xml -->
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost/</value>
  </property>
</configuration>

<?xml version="1.0"?>
<!-- hdfs-site.xml -->
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

<?xml version="1.0"?>
<!-- mapred-site.xml -->
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

<?xml version="1.0"?>
<!-- yarn-site.xml -->
<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>  

配置 ssh

如果本机没有安装 ssh,首先安装下

yum install ssh

然后配置 ssh 免登陆:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

# 输入以下命令,不要密码即成功
ssh localhost

格式化 HDFS 文件系统

跟一般的文件系统一样,使用 HDFS 之前,需要格式化以下

hdfs namenode -format

启动和终止后台程序

启动 HDFS,YARN 和 MapReduce 后台进程:

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

执行以上命令后,以下后台进程会在本机上出现:1 namenode,1 secondary namenode,1 datanode (HDFS),1 resource manager,1 node manager (YARN) 以及 1 history server (MapReduce)。

namenode: http://localhost:50070
history server: http://localhost:19888
resource manager: http://localhost:8088

同时也可以输入以下命令:

# jps
12787 ResourceManager
13316 JobHistoryServer
12886 NodeManager
6230 Main
18326 Jps
903 QuorumPeerMain
12264 DataNode
12524 SecondaryNameNode
12077 NameNode

终止进程:

mr-jobhistory-daemon.sh stop historyserver
stop-yarn.sh
stop-dfs.sh

开启 Hadoop 美妙之旅…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章