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 美妙之旅…