Hadoop學習筆記----阿冬專欄
hadoop框架
Hadoop使用主/從(Master/Slave)架構,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker組成。
其中NameNode,secondary NameNode,JobTracker執行在Master節點上,DataNode和TaskTracker執行在Slave節點上。
1,NameNode
NameNode是HDFS的守護程式,負責記錄檔案是如何分割成資料塊的,以及這些資料塊被儲存到哪些資料節點上。它的功能是對記憶體及I/O進行集中管理。
2,DataNode
叢集中每個從伺服器都執行一個DataNode後臺程式,後臺程式負責把HDFS資料塊讀寫到本地檔案系統。需要讀寫資料時,由NameNode告訴客戶端去哪個DataNode進行具體的讀寫操作。
3,Secondary NameNode
Secondary NameNode是一個用來監控HDFS狀態的輔助後臺程式,如果NameNode發生問題,可以使用Secondary NameNode作為備用的NameNode。
4,JobTracker
JobTracker後臺程式用來連線應用程式與Hadoop,使用者應用提交到集群后,由JobTracker決定哪個檔案處理哪個task執行,一旦某個task失敗,JobTracker會自動開啟這個task。
4,TaskTracker
TaskTracker負責儲存資料的DataNode相結合,位於從節點,負責各自的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檢視服務是否啟動
使用ssh localhost
出現如下提示
輸入密碼後
出現歡迎頁面,配置成功
免密碼登入
ssh-keygen -t rsa
進入.ssh目錄
執行
cp id_rsa.pub authorized_keys
重新ssh localhost,可以不輸入密碼
單機偽分散式:
進入目錄/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>
|
然後進入hadoop/bin目錄
執行 ./hadoop namenode -format
執行start-all.sh
啟動完成
開啟瀏覽器,輸入http://localhost:50030
就可以看到如下介面
執行示例 bin/hadoop jar hadoop-mapred-examples-0.21.0.jar wordcount in out
得到輸出結果,配置成功!
安裝eclipse外掛
外掛的路徑在0.21下有所更改,路徑如下
將外掛拷到eclipse pluglin目錄下
重啟eclipse
啟動後多出一個目錄
就可以使用eclipse進行程式設計了。
後續參考:http://www.cnblogs.com/skyme/archive/2011/10/26/2223984.html