hadoop-2.7.2集群的搭建過程
hadoop-2.7.2集群的搭建過程
安裝環(huán)境:
3節(jié)點(diǎn)集群,1個(gè)Master,2個(gè)Slave。
3個(gè)節(jié)點(diǎn)的局域網(wǎng)ip分別是10.30.30.128、10.30.30.129、10.30.30.130。
?
0. 準(zhǔn)備工作:
在Master節(jié)點(diǎn)上安裝好hadoop-2.7.2偽分布模式。
接下來主要對(duì)Slave節(jié)點(diǎn)進(jìn)行安裝配置。
?
1. Slave節(jié)點(diǎn)基本環(huán)境的安裝和配置
首先需要在Slave節(jié)點(diǎn)上進(jìn)行一些基本環(huán)境的安裝和配置,步驟均與偽分布模式相同。
1)? 創(chuàng)建hadoop用戶
2)? 安裝ssh
3)? 安裝Java環(huán)境
?
2. 配置網(wǎng)絡(luò)連接
將主節(jié)點(diǎn)的hostname改為Master,兩個(gè)從節(jié)點(diǎn)分別改為Slave1和Slave2。
sudo nano /etc/hostname
將所有節(jié)點(diǎn)的hosts文件都改為如下內(nèi)容:
127.0.0.1 localhost
10.30.30.128 Master
10.30.30.129 Slave1
10.30.30.130 Slave2
?
3. 配置節(jié)點(diǎn)間ssh無密碼登錄
刪除Slave節(jié)點(diǎn).ssh目錄中的所有文件(若存在文件):
rm ~/.ssh/*
進(jìn)入Master節(jié)點(diǎn)的~/.ssh文件夾,將id_rsa 和id_rsa.pub兩個(gè)文件復(fù)制到Slave節(jié)點(diǎn)對(duì)應(yīng)的目錄下:
scp ~/.ssh/id* hadoop@Slave1:/home/hadoop/.ssh/
然后在Slave節(jié)點(diǎn)上執(zhí)行命令:
cat ./id_rsa.pub >> ./authorized_keys
將公鑰加入授權(quán),即可實(shí)現(xiàn)節(jié)點(diǎn)間無密碼登錄。
?
4. Slave節(jié)點(diǎn)hadoop的安裝
? ? 將Master節(jié)點(diǎn)中hadoop的安裝目錄打包,發(fā)送給各Slave節(jié)點(diǎn),注意必須先打包再發(fā)送,否則該目錄下的link文件將失效。
cd /usr/lib
sudo tar –cvf hadoop.tar hadoop/
scp hadoop.tar hadoop@Slave1:/home/hadoop/
登錄Slave節(jié)點(diǎn),將文件解壓到對(duì)應(yīng)的路徑:
sudo tar xvf hadoop.tar /usr/local
設(shè)置文件夾權(quán)限:
sudo chown -R hadoop:hadoop /usr/local/hadoop
在Slave節(jié)點(diǎn)中配置hadoop環(huán)境變量,請(qǐng)參照Master節(jié)點(diǎn)。
?
5. 修改配置文件
一共需要修改5個(gè)配置文件,分別是hadoop/etc/hadoop目錄下的core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml和slaves文件,注意,所有節(jié)點(diǎn)均需修改。
core-site.xml:
hadoop.tmp.dir file:/usr/local/hadoop/tmp Abasefor other temporary directories. fs.defaultFS hdfs://Master:9000 hdfs-site.xml:
dfs.replication 1 dfs.namenode.name.dir file:/tmp/hadoop/dfs/name dfs.datanode.data.dir file:/tmp/hadoop/dfs/data dfs.namenode.secondary.http-address Master:50090 mapred-site.xml:
mapreduce.framework.name yarn mapreduce.jobhistory.address Master:10020 mapreduce.jobhistory.webapp.address Master:19888
yarn-site.xml:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname cit128 slaves:
Slave1 Slave2
?
6. 啟動(dòng)Hadoop集群
登錄Master節(jié)點(diǎn),啟動(dòng)hadoop守護(hù)進(jìn)程和yarn進(jìn)程:
start-dfs.sh
start-yarn.sh
或者使用start-all.sh命令代替二者也行。
啟動(dòng)歷史服務(wù)進(jìn)程:
mr-jobhistory-daemon.sh start historyserver
啟動(dòng)后,Master節(jié)點(diǎn)上運(yùn)行的進(jìn)程有:
NameNode
SecondaryNameNode
JobHistoryServer
ResourceManager
Slave節(jié)點(diǎn)上運(yùn)行的進(jìn)程有:
DataNode
NodeManager
?
7. 運(yùn)行hadoop分布式實(shí)例
創(chuàng)建用戶目錄:
hdfs dfs -mkdir -p /user/hadoop
創(chuàng)建輸入目錄和輸入文件:
hdfs dfs -mkdir input
hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input
運(yùn)行mapreduce作業(yè):
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output
等待mapreduce作業(yè)運(yùn)行結(jié)束,查看運(yùn)行結(jié)果:
hdfs dfs -cat output/*