前言* Hadoop是Apache開源組織的一個分佈式計算開源框架,在不少大型網站上都已經獲得了應用,如亞馬遜、Facebook和Yahoo等等。對於我來講,最近的一個使用點就是服務集成平臺的日誌分析。服務集成平臺的日誌量將會很大,而這也正好符合了分佈式計算的適用場景(日誌分析和索引創建就是兩大應用場景)。html
今天咱們來實際搭建一下Hadoop 2.2.0版,實戰環境爲目前主流服務器操做系統CentOS 5.8系統。java
1、實戰環境node
1linux 2apache 3服務器 4oracle 5框架 6dom |
|
2、系統準備
一、Hadoop能夠從Apache官方網站直接下載最新版本Hadoop2.2。官方目前是提供了linux32位系統可執行文件,因此若是須要在64位系統上部署則須要單獨下載src 源碼自行編譯。(若是是真實線上環境,請下載64位hadoop版本,這樣能夠避免不少問題,這裏我實驗採用的是32位版本)
Hadoop下載地址
http://apache.claz.org/hadoop/common/hadoop-2.2.0/
Java 下載下載
http://www.oracle.com/technetwork/java/javase/downloads/index.html
二、咱們這裏採用三臺CnetOS服務器來搭建Hadoop集羣,分別的角色如上已經註明。
第一步:咱們須要在三臺服務器的/etc/hosts裏面設置對應的主機名以下(真實環境能夠使用內網DNS解析)
[root@node1 hadoop]# cat /etc/hosts
1 2 3 4 5 6 |
|
(注* 咱們須要在namenode、datanode三臺服務器上都配置hosts解析)
第二步:從namenode上無密碼登錄各臺datanode服務器,須要作以下配置:
1 2 3 4 |
|
3、Java安裝配置
1 2 3 4 5 |
|
保存退出便可,而後執行source /etc/profile 生效。在命令行執行java -version 以下表明JAVA安裝成功。
1 2 3 4 |
|
(注* 咱們須要在namenode、datanode三臺服務器上都安裝Java JDK版本)
4、Hadoop版本安裝
官方下載的hadoop2.2.0版本,不用編譯直接解壓安裝就能夠使用了,以下:
第一步解壓:
1 2 |
|
第二步配置變量:
1 2 3 4 5 |
|
5、配置Hadoop
在namenode上配置,咱們須要修改以下幾個地方:
一、修改vi /data/hadoop/etc/hadoop/core-site.xml 內容爲以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
二、修改vi /data/hadoop/etc/hadoop/mapred-site.xml內容爲以下:
1 2 3 4 5 6 7 8 |
|
三、修改vi /data/hadoop/etc/hadoop/core-site.xml內容爲以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
四、修改 vi /data/hadoop/etc/hadoop/masters文件內容爲以下:
1 |
|
五、修改vi /data/hadoop/etc/hadoop/slaves文件內容爲以下:
1 2 |
|
如上配置完畢,以上的配置具體含義在這裏就不作過多的解釋了,搭建的時候不明白,能夠查看一下相關的官方文檔。
如上namenode就基本搭建完畢,接下來咱們須要部署datanode,部署datanode相對簡單,執行以下操做便可。
1 |
|
自此整個集羣基本搭建完畢,接下來就是啓動hadoop集羣了。
6、啓動hadoop並測試
在啓動hadoop以前,咱們須要作一步很是關鍵的步驟,須要在namenode上執行以下命令初始化name目錄和數據目錄。
1 |
|
那如何算初始化成功呢,以下截圖成功建立name目錄即正常:
而後啓動hadoop全部服務,以下命令:
1 |
|
咱們還能夠查看相應的端口是否啓動:netstat -ntpl
訪問以下地址:http://192.168.149.128:50070/
訪問地址:http://192.168.149.128:8088/