hadoop框架 Hadoop使用主/從(Master/Slave)架構(gòu),主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker組成。 其中NameNode,secondary NameNode,JobTracker運(yùn)行在Master節(jié)點(diǎn)上,DataNode和TaskTracker運(yùn)行在Slave節(jié)點(diǎn)上。
1,NameNode NameNode是HDFS的守護(hù)程序,負(fù)責(zé)記錄文件是如何分割成數(shù)據(jù)塊的,以及這些數(shù)據(jù)塊被存儲(chǔ)到哪些數(shù)據(jù)節(jié)點(diǎn)上。它的功能是對(duì)內(nèi)存及I/O進(jìn)行集中管理。 2,DataNode 集群中每個(gè)從服務(wù)器都運(yùn)行一個(gè)DataNode后臺(tái)程序,后臺(tái)程序負(fù)責(zé)把HDFS數(shù)據(jù)塊讀寫到本地文件系統(tǒng)。需要讀寫數(shù)據(jù)時(shí),由NameNode告訴客戶端去哪個(gè)DataNode進(jìn)行具體的讀寫操作。 3,Secondary NameNode Secondary NameNode是一個(gè)用來監(jiān)控HDFS狀態(tài)的輔助后臺(tái)程序,如果NameNode發(fā)生問題,可以使用Secondary NameNode作為備用的NameNode。 4,JobTracker JobTracker后臺(tái)程序用來連接應(yīng)用程序與Hadoop,用戶應(yīng)用提交到集群后,由JobTracker決定哪個(gè)文件處理哪個(gè)task執(zhí)行,一旦某個(gè)task失敗,JobTracker會(huì)自動(dòng)開啟這個(gè)task。 4,TaskTracker TaskTracker負(fù)責(zé)存儲(chǔ)數(shù)據(jù)的DataNode相結(jié)合,位于從節(jié)點(diǎn),負(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 可以使用三種模式安裝,測試階段可以使用單機(jī)模式。 在啟動(dòng)的時(shí)候可能會(huì)遇到很多問題,比如 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ù)是否啟動(dòng) 使用ssh localhost 出現(xiàn)如下提示 輸入密碼后 出現(xiàn)歡迎頁面,配置成功 免密碼登錄 ssh-keygen -t rsa 進(jìn)入.ssh目錄 執(zhí)行 cp id_rsa.pub authorized_keys 重新ssh localhost,可以不輸入密碼
單機(jī)偽分布式: 進(jìn)入目錄/hadoop/conf 編輯 ~/hadoop/conf/core-site.xml
編輯 ~/hadoop/conf/hdfs-site.xml
編輯 ~/hadoop/conf/mapred-site.xml
然后進(jìn)入hadoop/bin目錄 執(zhí)行 ./hadoop namenode -format 執(zhí)行start-all.sh 啟動(dòng)完成 打開瀏覽器,輸入http://localhost:50030 就可以看到如下界面 運(yùn)行示例 bin/hadoop jar hadoop-mapred-examples-0.21.0.jar wordcount in out 得到輸出結(jié)果,配置成功!
安裝eclipse插件 插件的路徑在0.21下有所更改,路徑如下 將插件拷到eclipse pluglin目錄下 重啟eclipse 啟動(dòng)后多出一個(gè)目錄 就可以使用eclipse進(jìn)行編程了。
hadoop使用:hbase實(shí)戰(zhàn):
|
|