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

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