1. 程式人生 > >Hadoop 叢集安裝(主節點安裝)

Hadoop 叢集安裝(主節點安裝)

1、下載安裝包及測試文件
切換目錄到/tmp

view plain copy
cd /tmp
下載Hadoop安裝包

view plain copy
wget http://192.168.1.100:60000/hadoop-2.6.0-cdh5.4.5.tar.gz
下載JDK安裝包

view plain copy
wget http://192.168.1.100:60000/jdk-7u75-linux-x64.tar.gz
下載實驗測試資料

view plain copy
wget http://192.168.1.100:60000/word.txt
2、安裝Java JDK
這裡安裝的版本是jdk-7u75-linux-x64.tar.gz;

當前是普通使用者,超級管理員才能對/opt目錄進行操作,所有要使用sudo命令獲取獲取特權才能成功解壓; 命令將其解壓到/opt目錄下:

view plain copy
sudo tar -zxvf /tmp/jdk-7u75-linux-x64.tar.gz -C /opt/
並將解壓後的資料夾jdk-7u75-linux-x64改名為java:

view plain copy
sudo mv /opt/jdk1.7.0_75 /opt/java
修改java目錄的所屬使用者和所屬組:

view plain copy
sudo chown -R zhangyu.zhangyu /opt/java
jdk安裝完配置環境變數,編輯/etc/profile:

view plain copy
sudo vim /etc/profile
在文件末端新增如下內容:

view plain copy
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH
重新整理環境變數:

view plain copy
source /etc/profile
重新整理環境變數後,可以通過java的家目錄找到java可使用的命令。 利用java檢視版本號命令驗證是否安裝成功:

view plain copy
java -version
正常結果顯示如下:

3、Hadoop安裝
這裡安裝的版本是hadoop-2.6.0-cdh5.4.5.tar.gz;命令將其解壓到/opt目錄下:

view plain copy
sudo tar -zxvf /tmp/hadoop-2.6.0-cdh5.4.5.tar.gz -C /opt/
並將解壓後的資料夾hadoop-2.6.0-cdh5.4.5改名為hadoop:

view plain copy
sudo mv /opt/hadoop-2.6.0-cdh5.4.5 /opt/hadoop
修改hadoop目錄的所屬使用者和所屬組:

view plain copy
sudo chown -R zhangyu.zhangyu /opt/hadoop
jdk安裝完配置環境變數,編輯/etc/profile:

view plain copy
sudo vim /etc/profile
末端新增如下內容:

view plain copy
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
重新整理環境變數:

view plain copy
source /etc/profile
利用hadoop檢視版本號命令驗證是否安裝成功:

view plain copy
hadoop version
正常結果顯示如下:

4、修改hosts檔案
獲取網絡卡資訊得命令有:ifconfig 和 ip a ;使用獲取網絡卡資訊得命令,檢視到當前節點的IP地址;編輯/etc/hosts檔案:

view plain copy
sudo vim /etc/hosts
新增本機IP地址對應本機對映名和其它節點IP地址對應對映名:

view plain copy
0.0.0.0 master
0.0.0.0 slave1
0.0.0.0 slave2
節點IP地址即”內網管理地址“

配置完hosts檔案,可以通過對映名訪問對應的IP地址;

5、建立資料資料夾
view plain copy
sudo mkdir /data
所有者修改為當前使用者:

view plain copy
sudo chown -R zhangyu.zhangyu /data
6、修改hadoop hadoop-env.sh檔案配置
view plain copy
vim /opt/hadoop/etc/hadoop/hadoop-env.sh
將JAVA_HOME修改成java所在目錄:

view plain copy
export JAVA_HOME=/opt/java/
7、修改hadoop core-site.xml檔案配置
編輯core-site.xml檔案:

view plain copy
vim /opt/hadoop/etc/hadoop/core-site.xml
替換為下面的xml文字:

view plain copy




hadoop.tmp.dir
/data/tmp/hadoop/tmp


fs.defaultFS
hdfs://master:9000/
NameNode URI


這裡有兩項配置:

一項是hadoop.tmp.dir,配置hadoop處理過程中,臨時檔案的儲存位置。這裡的目錄/data/需要提前建立。 另一項是fs.defaultFS,配置hadoop HDFS檔案系統的地址。

8、修改hadoop hdfs-site.xml檔案配置
編輯hdfs-site.xml檔案:

view plain copy
vim /opt/hadoop/etc/hadoop/hdfs-site.xml
替換為下面的xml文字:

view plain copy




dfs.namenode.name.dir
/data/tmp/hadoop/hdfs/name


dfs.datanode.data.dir
/data/tmp/hadoop/hdfs/data


dfs.replication
1


dfs.permissions
false


配置項說明:

dfs.namenode.name.dir,配置元資料資訊儲存位置; dfs.datanode.data.dir,配置具體資料儲存位置; dfs.replication,配置每個資料庫備份數,由於目前我們使用1臺節點,所以,設定為1,如果設定為2的話,執行會報錯。

9、修改hadoop yarn-site.xml檔案配置
編輯yarn-site.xml檔案:

view plain copy
vim /opt/hadoop/etc/hadoop/yarn-site.xml
替換為下面的xml文字:

view plain copy




yarn.nodemanager.aux-services
mapreduce_shuffle


這裡的配置是指定所用服務。

10、修改hadoop mapred-site.xml檔案配置
建立mapred-site.xml檔案:

view plain copy
vim /opt/hadoop/etc/hadoop/mapred-site.xml
輸入為下面的xml文字:

view plain copy




mapreduce.framework.name
yarn


這裡指定mapreduce任務處理所使用的框架。

11、修改hadoop slaves檔案配置
view plain copy
vim /opt/hadoop/etc/hadoop/slaves
覆蓋寫入主節點對映名和從節點對映名:

view plain copy
master
slave1
slave2
12、建立公鑰
在zhangyu使用者下建立公鑰:

view plain copy
ssh-keygen
出現如下內容:

Enter file in which to save the key (/home/zhangyu/.ssh/id_rsa):

直接使用預設選項,回車即可,出現如下內容:

Enter passphrase (empty for no passphrase):

直接回車,出現內容:

Enter same passphrase again:

直接回車,建立完成,結果內容如下:

13、拷貝公鑰,過程中需要輸入zhangyu使用者的密碼
view plain copy
ssh-copy-id master
view plain copy
ssh-copy-id slave1
view plain copy
ssh-copy-id slave2
提示:命令執行過程中需要輸入“yes”和密碼“zhangyu”。三臺節點請依次執行完成。

測試連線是否正常:

view plain copy
ssh master
輸入exit退出測試:

view plain copy
ssh slave1
輸入exit退出測試:

view plain copy
ssh slave2
輸入exit退出測試:

測試中可以看出,連線各節點時,無需輸入密碼,因為已經設定好授權祕鑰。

14、拷貝檔案到所有從節點
view plain copy
scp -r /opt/java/ /opt/hadoop/ slave1:/tmp/
view plain copy
scp -r /opt/java/ /opt/hadoop/ slave2:/tmp/
至此,主節點配置完成。

以下內容在所有從節點配置完成之後繼續進行!
15、格式化分散式檔案系統
在hadoop主節點執行:

view plain copy
/opt/hadoop/bin/hadoop namenode -format
16、啟動Hadoop
在hadoop主節點執行:

view plain copy
/opt/hadoop/sbin/start-all.sh
執行過程中需要輸入“yes”,允許利用公鑰連線其它機器。

17、檢視Hadoop程序
在hadoop主節點執行:

view plain copy
jps
輸出結果必須包含6個程序,結果如下:

在hadoop從節點執行同樣的操作:

view plain copy
jps
輸出結果必須包含3個程序,具體如下:

18、在命令列中輸入以下程式碼,開啟Hadoop WebUI管理介面:
view plain copy
firefox http://master:50070
19、測試HDFS叢集以及MapReduce任務程式
利用Hadoop自帶的WordCount示例程式進行檢查叢集;在主節點進行如下操作,建立HDFS目錄:

view plain copy
hadoop fs -mkdir /zhangyu/
view plain copy
hadoop fs -mkdir /zhangyu/input
將測試檔案上傳到到Hadoop HDFS叢集目錄:

view plain copy
hadoop fs -put /tmp/word.txt /zhangyu/input
執行wordcount程式:

view plain copy
cd /opt/hadoop/share/hadoop/mapreduce/
view plain copy
hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.4.5.jar wordcount /zhangyu/input/ /zhangyu/out/
檢視執行結果:

view plain copy
hadoop fs -ls /zhangyu/out/

如果列表中結果包含”_SUCCESS“檔案,程式碼叢集執行成功。

檢視具體的執行結果,可以用如下命令:

view plain copy
hadoop fs -text /zhangyu/out/part-r-00000
到此,叢集安裝完成。