1. 安裝jdk
2. 配置hosts 與hostname- sudo vi /etc/hosts (配置namenode和datanode)
- 192.168.1.80 ns (主機名,尤其是namenode)
- 192.168.1.81 ds1
- ......
- 192.168.1.85 dsn
- 所有節點均按以上配置
- 修改各結點上的主機名:hostname ns(臨時生效,可通過修改/etc/hostname)
- 其它結點也和上面hosts中的主機名配置保持一致
3. 安裝配置ssh
- ssh-keygen –t rsa
- 將ns上的公鑰拷貝到各個ds:
- scp ~/.ssh/id_rsa.pub hadoop@target:~/master_key
- 在除ns外的節點上:
- mkdir ~/.ssh
- chmod 700 ~/.ssh
- cat ~/master_key >> ~/.ssh/authorized_keys
- chmod 600 ~/.ssh/authorized_keys
- 嘗試從ns用ssh連接其它節點,如果不需要輸入密碼則配置成功
4. 安裝hadoop (所有節點操作和配置均相同)
- (masters 和 slaves 這兩個配置文件可以只在ns上編輯配置)
- vi ~/hadoop-1.0.3/conf/masters 配置 namenode 的 IP
- vi ~/hadoop-1.0.3/conf/slaves 配置 datanode 的 IP
- 配置hadoop-env.sh、hdfs-site.xml和core-site.xml
- 根據這些配置文件的格式,配置自己需要的
- (所有節點操作和配置均相同)
- hadoop使用主/從(M/S)架構,主要由NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker組成。
- 其中NameNode,secondary NameNode,JobTracker運行在Master節點上,DataNode和TaskTracker運行在Slave節點上。
- Namenode:NameNode是HDFS的守護程序,負責記錄文件是如何分割成數據塊的,以及這些數據塊被存儲到哪些數據節點上。它的功能是對內存及I/O進行集中管理。
- Datanode:集羣中每個從服務器都運行一個DataNode後臺程序,後臺程序負責把HDFS數據塊讀寫到本地文件系統。需要讀寫數據時,由NameNode告訴客戶端去哪個DataNode進行具體的讀寫操作。
- Secondary Namenode:是一個用來監控HDFS狀態的輔助後臺程序,如果NameNode發生問題,可以使用Secondary NameNode作爲備用的NameNode。
- JobTracker:
後臺程序用來連接應用程序與Hadoop,用戶應用提交到集羣后,由JobTracker決定哪個文件處理哪個task執行,一旦某個task失敗,JobTracker會自動開啓這個task。
- TaskTracker負責存儲數據的DataNode相結合,位於從節點,負責各自的task。
6. 啓動Hadoop
- 執行 ./hadoop namenode -format
- 執行start-all.sh
- 打開瀏覽器,輸入http://localhost:50030
- hadoop 的操作命令 ./bin/hadoop --help 就能看到
配置文件中需要的目錄不建議手動去創建,
在格式化活啓動時會自動檢查自己創建,若手動創建的目錄權限不對,會影響整個hadoop的啓動
參考的資料:
http://baike.baidu.com/view/3061630.htm?fr=aladdin
http://coolriver.diandian.com/post/2012-07-27/40031917001
http://blog.csdn.net/wangloveall/article/details/20837019
http://www.datastax.com/what-we-offer/products-services/datastax-enterprise
http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html#PreReqs
http://www.cnblogs.com/skyme/archive/2011/10/26/2223984.html