hadoop安裝詳解

1.hadoop簡介java

 

Hadoop是Apache軟件基金會旗下的一個開源分佈式計算平臺。以Hadoop分佈式文件系統(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的開源實現)爲核心的Hadoop爲用戶提供了系統底層細節透明的分佈式基礎架構。

對於Hadoop的集羣來說,能夠分紅兩大類角色:Master和Salve。一個HDFS集羣是由一個NameNode和若干個DataNode組成的。其中NameNode做爲主服務器,管理文件系統的命名空間和客戶端對文件系統的訪問操做;集羣中的DataNode管理存儲的數據。MapReduce框架是由一個單獨運行在主節點上的JobTracker和運行在每一個集羣從節點的TaskTracker共同組成的。主節點負責調度構成一個做業的全部任務,這些任務分佈在不一樣的從節點上。主節點監控它們的執行狀況,而且從新執行以前的失敗任務;從節點僅負責由主節點指派的任務。當一個Job被提交時,JobTracker接收到提交做業和配置信息以後,就會將配置信息等分發給從節點,同時調度任務並監控TaskTracker的執行。

從上面的介紹能夠看出,HDFS和MapReduce共同組成了Hadoop分佈式系統體系結構的核心。HDFS在集羣上實現分佈式文件系統,MapReduce在集羣上實現了分佈式計算和任務處理。HDFS在MapReduce任務處理過程當中提供了文件操做和存儲等支持,MapReduce在HDFS的基礎上實現了任務的分發、跟蹤、執行等工做,並收集結果,兩者相互做用,完成了Hadoop分佈式集羣的主要任務。

1.2.環境說明

192.168.253.139 master.hadoop

192.168.253.140 slave.hadoop

兩個節點均是centos系統,而且有一個相同的用戶hadoop,master機器主要配置namenode和jobtracker的角色,負責總管分佈式數據和分解任務的執行,1個slave機器配置datanode和tasktracker的角色,負責分佈式數據存儲以及任務的執行。還應該有對master作高可用。

1.3 網絡配置

能夠配置其master主機名名字爲master.hadoop,ip爲192.168.253.139

配置slave服務器的名字爲slave.hadoop,ip爲192.168.253.140.(爲防止兩個服務器鏈接問題,暫時關閉防火牆 service iptables stop)

1.4下載所須要的軟件(見附件)

2.ssh無密碼驗證設置

hadoop運行過程當中須要管理遠端hadoop守護程序,在hadoop啓動之後,namenode是經過ssh來啓動和中止各個datanode的各類守護進程,這就必須在節點之間執行指令的時候是不須要輸入密碼的形式,故咱們須要配置SSH運用無密碼公鑰認證的形式,這樣NameNode使用SSH無密碼登陸並啓動DataName進程,一樣原理,DataNode上也能使用SSH無密碼登陸到NameNode。

2.1 安裝和啓動ssh協議,實現兩個服務器的雙機互信node

1
2
3
4
5
6
     192.168 . 253.139
[root@master ~] # ssh-keygen -t rsa -f  ~/.ssh/id_rsa -P ''
[root@master ~] # ssh-copy-id -i .ssh/id_rsa.pub root@192.168.253.140
     192.168 . 253.140
[root@slave ~] # ssh-keygen -t rsa -f  ~/.ssh/id_rsa -P ''
[root@slave ~] # ssh-copy-id -i .ssh/id_rsa.pub root@192.168.253.139

 

在192.168.253.139主機上測試,能夠實現無密碼登陸192.168.253.140,一樣的方法測試slave服務器140709849.jpgpython

3.java環境安裝linux

全部的機器都要安裝JDK,如今如今master服務器上安裝,而後其餘服務器按照步驟重複進行便可,安裝jdk配置環境變量,須要以root身份進行, vim

3.1安裝JDKcentos

使JDK得到可執行權限,並進行以下步驟,進行安裝(下載JDK文件到/usr/src)服務器

1
2
3
[root@master  ~] # cd /usr/src
[root@master  ~] # chmod +x jdk-6u31-linux-x64-rpm.bin
[root@master  ~] # ./jdk-6u31-linux-x64-rpm.bin

3.2添加java環境變量網絡

在"/etc/profile"加入以下行架構

1
2
3
export JAVA_HOME=/usr/java/jdk1. 6 .0_31
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

使定義生效框架

source /etc/profile

3.3 驗證安裝成功

配置完畢而且生效後,經過下面命令判斷是否成功

141913446.jpg

3.4 使用此種方法安裝剩餘的slave機器,

4.hadoop集羣安裝

全部的機器都要安裝hadoop,先從master服務器安裝,

4.1 安裝hadoop

1
2
3
4
5
6
7
8
[root@master ~] # useradd hadoop
[root@master ~] # passwd hadoop
     hadoop
[root@master ~] # cd /usr/src/
[root@master src] # tar xf hadoop-1.0.0.tar.gz
[root@master src] # mv hadoop-1.0.0  hadoop
[root@master src] #mv hadoop  /usr/
[root@master usr] # chown -R hadoop:hadoop hadoop

創建hadoop環境變量

vim /etc/profile

1
2
export HADOOP_HOME = / usr / hadoop
export PATH = $PATH:$HADOOP_HOME / bin

使環境變量生效

source /etc/profile

4.2配置hadoop

hadoop配置文件位於/usr/hadoop/conf

1.配置hadoop-env.sh文件,在末尾添加以下兩行

1
2
# set java environment
export JAVA_HOME = / usr / java / jdk1. 6.0_31



Hadoop配置文件在conf目錄下,以前的版本的配置文件主要是Hadoop-default.xml和Hadoop-site.xml。因爲Hadoop發展迅速,代碼量急劇增長,代碼開發分爲了core,hdfs和map/reduce三部分,配置文件也被分紅了三個core-site.xml、hdfs-site.xml、mapred-site.xml。core-site.xml和hdfs-site.xml是站在HDFS角度上配置文件;core-site.xml和mapred-site.xml是站在MapReduce角度上配置文件。

配置core-site.xml文件,這裏配置的是HDFS的地址和端口號

143249901.jpg

如沒有配置hadoop.tmp.dir參數,此時系統默認的臨時目錄爲:/tmp/hadoo-hadoop。而這個目錄在每次重啓後都會被幹掉,必須從新執行format才行,不然會出錯。

配置hdfs-site.xml文件,HDFS的配置,配置的備份方式默認爲3

143444728.png

replication是數據副本數量,默認爲3,slave少於三臺會報錯,此例是1

配置mapred-site.xml文件,配置的JobTracker的地址和端口

143702997.png

配置master文件

去掉localhost,加入192.168.253.139(master服務器)的ip地址

配置slave文件

去掉localhost,加入192.168.253.140(slave服務器)的ip地址

4.3啓動及驗證

格式化HDFS文件系統

在格式化文件系統時,使用普通用戶進行操做

hadoop namenode -format

使用下面命令啓動

/usr/hadoop/bin/start-all.sh

能夠經過如下啓動日誌看出,首先啓動namenode 接着啓動datanode1,datanode2,…,而後啓動secondarynamenode。再啓動jobtracker,而後啓動tasktracker1,tasktracker2,…。

啓動 hadoop成功後,在 Master 中的 tmp 文件夾中生成了 dfs 文件夾,在Slave 中的 tmp 文件夾中均生成了 dfs 文件夾和 mapred 文件夾。

180542169.png180554970.png

參考文章:http://developer.51cto.com/art/201206/344046_1.htm

相關文章
相關標籤/搜索