Hadoop安裝部署指南
author:yupeng
update_date:2017-04-17 08:40:04
version: 1.0
1. 系統(tǒng)環(huán)境要求
- 本安裝說(shuō)明針對(duì)
Hadoop 2.x.y
版本有效,其他版本可能有少許不同之處 - 本安裝說(shuō)明針對(duì)Linux操作系統(tǒng)環(huán)境,在CentOS 6.5 x64系統(tǒng)環(huán)境中部署成功并通過(guò)測(cè)試呀打,其他操作系統(tǒng)或版本可能有少許不同之處
- JDK1.8+
- 操作系統(tǒng)Root權(quán)限
- 本安裝說(shuō)明以3臺(tái)服務(wù)器為基礎(chǔ)擎颖,如安裝多臺(tái)服務(wù)器同理進(jìn)行即可
2. 測(cè)試服務(wù)器物理環(huán)境
-
主 節(jié) 點(diǎn):
hostname:master ipaddr:192.168.10.27
-
子節(jié)點(diǎn)1:
hostname:cluster1 ipaddr:192.168.10.28
-
子節(jié)點(diǎn)2:
hostname:cluster2 ipaddr:192.168.10.29
3. 開(kāi)始安裝
-
HOST配置
將三臺(tái)服務(wù)器的hostname添加到各個(gè)服務(wù)器的hosts解析當(dāng)中
ssh連接master節(jié)點(diǎn):
vi /etc/hosts
將如下配置添加其中:
192.168.10.27 master
192.168.10.28 cluster1
192.168.10.29 cluster2
配置完成后將此配置同步到其他子節(jié)點(diǎn)上:
scp root@192.168.10.28:/etc/hosts
scp root@192.168.10.29:/etc/hosts
//scp <username>@<host>:<target path>
配置完成后可通過(guò)ping <hostname>檢測(cè)是否生效
-
SSH免密碼
Hadoop集群控制需要主節(jié)點(diǎn)通過(guò)SSH方式登錄自己點(diǎn)并執(zhí)行命令泼各,所以如果沒(méi)有設(shè)置SSH免密碼谱俭,每次執(zhí)行命令時(shí)都必須手動(dòng)輸入笙纤,非常繁瑣并且在無(wú)人值守的狀態(tài)下無(wú)法正常工作查描,故需設(shè)置SSH免密碼
ssh鏈接master節(jié)點(diǎn):
-
ssh-keygen
并回車(chē)直至完成 -
ssh-copy-id root@master
輸入密碼 -
ssh-copy-id root@cluster1
輸入密碼 -
ssh-copy-id root@cluster2
輸入密碼
使用ssh root@cluster1
,ssh root@cluster2
分別驗(yàn)證是否成功突委,若未提示輸入密碼即為配置成功柏卤,若仍需輸入密碼請(qǐng)重試上面步驟
-
JDK安裝配置
略。注:集群所有服務(wù)器JDK安裝路徑最好一致匀油,本教程三臺(tái)服務(wù)器JDK路徑均一致缘缚,下面配置以此為基礎(chǔ) - HADOOP安裝(此步驟僅在主節(jié)點(diǎn)進(jìn)行)
- 解壓Hadoop-2.x.y.tar.gz,此處解壓放在/opt目錄(非必須敌蚜,可任意目錄)
- 配置環(huán)境變量桥滨,將hadoop加入系統(tǒng)變量當(dāng)中
vi /etc/profile
//在文件最后添加以下配置
export HADOOP_HOME=/opt/hadoop-2.x.y
export PATH=$PATH:$HADOOP\_HOME/bin:$HADOOP\_HOME/sbin
//配置完成后使其生效
source /etc/profile
- 使用
hadoop version
檢查是否安裝成功,若未成功請(qǐng)仔細(xì)檢查上述步驟何處出現(xiàn)問(wèn)題
- 主節(jié)點(diǎn)Hadoop配置
hadoop-env.sh
修改export JAVA_HOME=<xxx>
為本機(jī)配置的JDK的絕對(duì)路徑core-site.xml
創(chuàng)建hadoop臨時(shí)目錄,此處創(chuàng)建的是:mkdir /opt/tmp
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/tmp</value>
</property>
</configuration>
- hdfs-site.xml
創(chuàng)建hdfs namenode目錄及datanode目錄
此處創(chuàng)建的分別是:
mkdir /opt/dfs/name
mkdir /opt/dfs/data
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
- mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
- yarn-site.xml
<configuration>
<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>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
- slaves
cluster1
cluster2
- 子節(jié)點(diǎn)Hadoop配置
- 在兩個(gè)子節(jié)點(diǎn)分別建立與主節(jié)點(diǎn)目錄相同的
tmp,name,node
目錄
mkdir /opt/tmp
mkdir /opt/dfs/name
mkdir /opt/dfs/data
- 使用scp命令將剛才主節(jié)點(diǎn)配置好的
Hadoop
整個(gè)目錄發(fā)送給子節(jié)點(diǎn) 弛车,完成后在子節(jié)點(diǎn)配置本節(jié)點(diǎn)Hadoop環(huán)境變量并source
使其生效
注意:主節(jié)點(diǎn)和子節(jié)點(diǎn)的hadoop目錄必須一致(原理上是非必須的齐媒,為了我們使用和維護(hù)方便我們這樣要求。若不想放在相同目錄纷跛,可在各個(gè)子節(jié)點(diǎn)參考步驟5各自配置)
-
格式化Namenode
主節(jié)點(diǎn)運(yùn)行命令:
hadoop namenode -format
-
運(yùn)行測(cè)試
在主節(jié)點(diǎn)運(yùn)行命令:
1.啟動(dòng)YARN資源管理器:start-yarn.sh
2.啟動(dòng)HDFS文件系統(tǒng):start-dfs.sh
如果上述步驟全部正確執(zhí)行則應(yīng)該看到hadoop正在啟動(dòng)喻括,啟動(dòng)完成后使用jps
命令查看,各節(jié)點(diǎn)應(yīng)該有以下對(duì)應(yīng)進(jìn)程在運(yùn)行:
master:
- ResourceManager
- NameNode
- SecondaryNameNode
cluster:
- NodeManager
- DataNode
若成功啟動(dòng)訪(fǎng)問(wèn)主節(jié)點(diǎn)http://master:50070 端口即可看到HDFS Web UI 管理界面
訪(fǎng)問(wèn)主節(jié)點(diǎn)http://master:8088 端口即可看到Y(jié)arn Web UI 管理界面