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