Hadoop (二)Hadoop安裝環境搭建 一、選擇Primary Namenode和Secondary Namenode
Primary Namenode和Secondary Namenode關系如下圖所示:

圖1.1 SNN(Secondary Namenode)合并流程
由上圖可知,Secondary Namenode在一定程度上可以作為Primary Namenode的備份,并且Primary Namenode中所存儲中繼資料是十分重要的。是以我們一般将Secondary Namenode和Primary Namenode選擇兩台不同機架上的兩台主機。
在此,我使用192.168.1.201作為Primary Namenode;使用192.168.1.202作為Secondary Namenode。在之前的四台伺服器基礎上再加一台192.168.1.205,使192.168.1.203~192.168.1.205這三台伺服器作為DataNode。一共使用五台伺服器,便可以搭建起一個Hadoop環境。
二、在Hadoop官網下載下傳Hadoop
三、将下載下傳的檔案傳至192.168.1.201某個目錄(我在這放在/home下)中
四、解壓Hadoop壓縮包
進入/home目錄,執行指令
tar -sxvf hadoop-2.5.1_x64.tar.gz
執行完畢後,ls可以檢視到root下多了一個hadoop-2.5.1的檔案夾
五、修改hosts檔案
給linux中、etc/hosts檔案添加如下配置,配置主機名與ip的對應關系
192.168.1.201 namenode
192.168.1.202 secondary_namenode
192.168.1.203 datenode1
192.168.1.204 datenode2
192.168.1.205 datanode3
六、修改配置
1、配置jdk
進入hadoop-2.5.1目錄中
cd /home/hadoop-2.5.1/etc/hadoop/
vi hadoop-env.sh
将其最後的 export JAVA_HOME=${JAVA_HOME} 修改為 export JAVA_HOME=/home/jdk1.7.0_80 。儲存退出即可
2、配置Primary Namenode端口
進入hadoop-2.5.1目錄中
cd /home/hadoop-2.5.1/etc/hadoop
vi core-site.xml
将下方片段
<configuration>
</configuration>
修改為
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> ---hadoop臨時目錄
<value>/home/hadoop-2.5</value> ---hadoop臨時目錄位址
</property>
</configuration>
其中192.168.1.201為設定的Namenode , 9000位資料上傳下載下傳的端口
儲存,退出編輯模式。
3、配置Secondary Namenode端口
進入hadoop-2.5.1目錄中
cd /home/hadoop-2.5.1/etc/hadoop
vi vi hdfs-site.xml
将下方片段
<configuration>
</configuration>
修改為
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>secondary_namenode:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>secondary_namenode:50091</value>
</property>
</configuration>
其中192.168.1.202為設定的Secondary Namenode , 50090和50091分别為http和https的端口
儲存,退出編輯模式。
4、配置Datanode主機
進入hadoop-2.5.1目錄中
cd /home/hadoop-2.5.1/etc/hadoop
vi slaves
将其内容設定為
datanode1
datanode2
datanode3
儲存,退出編輯模式。
5、配置Secondary Namenode主機
進入hadoop-2.5.1目錄中
cd /home/hadoop-2.5.1/etc/hadoop
vi masters
将其内容設定為
secondary_namenode
儲存,退出編輯模式。
七、将/home下hadoop檔案夾拷貝至另外幾台伺服器
在192.168.1.201下分别執行下列指令
scp -r /home/hadoop-2.5.1/ [email protected]:/home/
scp -r /home/hadoop-2.5.1/ [email protected]:/home/
scp -r /home/hadoop-2.5.1/ [email protected]:/home/
八、配置Hadoop的環境變量
進入如下檔案
vi ~/.bash_profile
在檔案後方追加下面代碼
export HADOOP_HOME=/home/hadoop-2.5.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
儲存退出
九、将配置的Hadoop環境變量應用至所有伺服器
在192.168.1.201下分别執行下列指令
scp ~/.bash_profile [email protected]:/root/
scp ~/.bash_profile [email protected]:/root/
scp ~/.bash_profile [email protected]:/root/
十、使環境變量生效
在每一個伺服器下都執行下方指令,應用環境變量
source ~/.bash_profile
十一、格式化HDFS檔案系統
在192.168.1.201上執行下方指令
hdfs namenode -format
初始化成功後,會在我們設定的臨時目錄初始化中繼資料,如下圖所示
十二、啟動Hadoop
在192.168.1.201上執行下方指令
start-dfs.sh
可以看到如下圖所示結果
十三、進入監控頁面
浏覽器輸入http://192.168.1.201:50070,會看到如下界面,則表示我滿啟動成功
【注意:要打開防火牆對端口的限制啊】