hadoop框架
Hadoop使用主/從(Master/Slave)架構(gòu),主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker組成。
其中NameNode,secondary NameNode,JobTracker運行在Master節(jié)點上,DataNode和TaskTracker運行在Slave節(jié)點上。
1,NameNode
NameNode是HDFS的守護程序,負(fù)責(zé)記錄文件是如何分割成數(shù)據(jù)塊的,以及這些數(shù)據(jù)塊被存儲到哪些數(shù)據(jù)節(jié)點上。它的功能是對內(nèi)存及I/O進(jìn)行集中管理。
2,DataNode
集群中每個從服務(wù)器都運行一個DataNode后臺程序,后臺程序負(fù)責(zé)把HDFS數(shù)據(jù)塊讀寫到本地文件系統(tǒng)。需要讀寫數(shù)據(jù)時,由NameNode告訴客戶端去哪個DataNode進(jìn)行具體的讀寫操作。
3,Secondary NameNode
Secondary NameNode是一個用來監(jiān)控HDFS狀態(tài)的輔助后臺程序,如果NameNode發(fā)生問題,可以使用Secondary NameNode作為備用的NameNode。
4,JobTracker
JobTracker后臺程序用來連接應(yīng)用程序與Hadoop,用戶應(yīng)用提交到集群后,由JobTracker決定哪個文件處理哪個task執(zhí)行,一旦某個task失敗,JobTracker會自動開啟這個task。
4,TaskTracker
TaskTracker負(fù)責(zé)存儲數(shù)據(jù)的DataNode相結(jié)合,位于從節(jié)點,負(fù)責(zé)各自的task。
hadoop的安裝
1)安裝SSH
sudo apt-get install ssh
2)安裝java
3)安裝hadoop
下載并解壓縮
tar -zxvf hadoop-0.21.0.tar.gz
4)改變配置
指定java安裝路徑
使用vi
vi conf/hadoop-env.sh
添加
export JAVA_HOME = /usr/java/jdk1.7.0_01
可以使用三種模式安裝,測試階段可以使用單機模式。
在啟動的時候可能會遇到很多問題,比如 22 connection refused
可以安裝openssh,使用apt-get
sudo apt-get install openssh-client
sudo apt-get install openssh-server
sudo apt-get install chkconfig
使用chkconfig --list | grep sshd查看服務(wù)是否啟動
使用ssh localhost
出現(xiàn)如下提示
輸入密碼后
出現(xiàn)歡迎頁面,配置成功
免密碼登錄
ssh-keygen -t rsa
進(jìn)入.ssh目錄
執(zhí)行
cp id_rsa.pub authorized_keys
重新ssh localhost,可以不輸入密碼
單機偽分布式:
進(jìn)入目錄/hadoop/conf
編輯 ~/hadoop/conf/core-site.xml
<configuration> <property> <name>fs. default .name</name> <value>hdfs: //localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/tmp/hadoop/hadoop-${user.name}</value> </property> </configuration> |
編輯 ~/hadoop/conf/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> |
編輯 ~/hadoop/conf/mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration> |
然后進(jìn)入hadoop/bin目錄
執(zhí)行 ./hadoop namenode -format
執(zhí)行start-all.sh
啟動完成
打開瀏覽器,輸入http://localhost:50030
就可以看到如下界面
運行示例 bin/hadoop jar hadoop-mapred-examples-0.21.0.jar wordcount in out
得到輸出結(jié)果,配置成功!
安裝eclipse插件
插件的路徑在0.21下有所更改,路徑如下
將插件拷到eclipse pluglin目錄下
重啟eclipse
啟動后多出一個目錄
就可以使用eclipse進(jìn)行編程了。