雲服務器上搭建hadoop偽分布式環境


    1.

     軟硬件環境

  • CentOS 7.2 64 位
  • OpenJDK- 1.8
  • Hadoop- 2.7

     2.

     安裝SSH客戶端

  • 安裝SSH
    安裝SSH:
     

     

    安裝完成后,可以使用下面命令進行測試:

     

    輸入 root 賬戶的密碼,如果可以正常登錄,則說明SSH安裝沒有問題。

    3.安裝java環境

    安裝 JDK

    使用 yum 來安裝1.7版本 OpenJDK:

     

     

     安裝完成后,輸入 java 和 javac 命令,如果能輸出對應的命令幫助,則表明jdk已正確安裝。

    配置 JAVA 環境變量

    執行命令:
    編輯 ~/.bashrc,在結尾追加:
     

     

    保存文件后執行下面命令使 JAVA_HOME 環境變量生效:

     

    為了檢測系統中 JAVA 環境是否已經正確配置並生效,可以分別執行下面命令:

     

    若兩條命令輸出的結果一致,且都為我們前面安裝的 openjdk-1.8.0 的版本,則表明 JDK 環境已經正確安裝並配置。

     

    4.安裝hadoop

    下載 Hadoop

    本教程使用 hadoop-2.7 版本,使用 wget 工具在線下載

     

     

    安裝 Hadoop

    將 Hadoop 安裝到 /usr/local 目錄下:

     

     

     

     

     對安裝的目錄進行重命名,便於后續操作方便:

     

     

     檢查Hadoop是否已經正確安裝:

     

     

     

     如果成功輸出hadoop的版本信息,表明hadoop已經成功安裝。

     

    5.hadoop偽分布式環境配置

     

    設置 Hadoop 的環境變量

    編輯 ~/.bashrc,在結尾追加如下內容:
     
     

     

     使Hadoop環境變量配置生效:

     

     

     

     

     修改 Hadoop 的配置文件

    Hadoop的配置文件位於安裝目錄的 /etc/hadoop 目錄下,在本教程中即位於 /url/local/hadoop/etc/hadoop 目錄下,需要修改的配置文件為如下兩個:
     

     

     

    編輯 core-site.xml,修改<configuration></configuration>節點的內容為如下所示:

     

     

     

    同理,編輯 hdfs-site.xml,修改<configuration></configuration>節點的內容為如下所示:

     

     

     

     

     

    格式化 NameNode

    格式化NameNode:
     

     

     在輸出信息中看到如下信息,則表示格式化成功:

     

     

    啟動 NameNode 和 DataNode 守護進程

    啟動 NameNode 和 DataNode 進程:
     
     

     

     執行過程中會提示輸入用戶密碼,輸入 root 用戶密碼即可。另外,啟動時ssh會顯示警告提示是否繼續連接,輸入 yes 即可。

     

     

    檢查 NameNode 和 DataNode 是否正常啟動:

    如果NameNode和DataNode已經正常啟動,會顯示NameNode、DataNode和SecondaryNameNode的進程信息:

     

    6.運行偽分布式實例

     

    查看 Hadoop 自帶的例子

    Hadoop 附帶了豐富的例子, 執行下面命令可以查看:

     

     

     

     

     在 HDFS 中創建用戶目錄

    在 HDFS 中創建用戶目錄 hadoop:
     

     

     

    准備實驗數據

    本教程中,我們將以 Hadoop 所有的 xml 配置文件作為輸入數據來完成實驗。執行下面命令在 HDFS 中新建一個 input 文件夾並將 hadoop 配置文件上傳到該文件夾下:

     

    此時會出現如下警告:

    原因:
    Apache提供的hadoop本地庫是32位的,而在64位的服務器上就會有問題,因此需要自己編譯64位的版本。

    1、首先找到對應自己hadoop版本的64位的lib包,可以自己手動去編譯,但比較麻煩,也可以去網上找,好多都有已經編譯好了的。

    2、可以去網站:http://dl.bintray.com/sequenceiq/sequenceiq-bin/  下載對應的編譯版本

    3、將准備好的64位的lib包解壓到已經安裝好的hadoop安裝目錄的lib/native 和 lib目錄下:

     

     

     

     

     

    4、然后增加環境變量:

     

     

     

    5、增加下面的內容:

     

     

    6、讓環境變量生效

     

     

    7、自檢hadoop checknative –a 指令檢查

     

     

    再次在 HDFS 中創建用戶目錄 hadoop:

     

     

    不再提示警告

     

    准備實驗數據

    本教程中,我們將以 Hadoop 所有的 xml 配置文件作為輸入數據來完成實驗。執行下面命令在 HDFS 中新建一個 input 文件夾並將 hadoop 配置文件上傳到該文件夾下:

     

    使用下面命令可以查看剛剛上傳到 HDFS 的文件:

     

    運行實驗

     

     

     

     

     

     上述命令以 HDFS 文件系統中的 input 為輸入數據來運行 Hadoop 自帶的 grep 程序,提取其中符合正則表達式 dfs[a-z.]+ 的數據並進行次數統計,將結果輸出到 HDFS 文件系統的 output 文件夾下。

     

    查看運行結果

    上述例子完成后的結果保存在 HDFS 中,通過下面命令查看結果:
     

     

     如果運行成功,可以看到如下結果:

     

     

     

    刪除 HDFS 中的結果目錄:

     

     

    運行 Hadoop 程序時,為了防止覆蓋結果,程序指定的輸出目錄不能存在,否則會提示錯誤,因此在下次運行前需要先刪除輸出目錄。

     

     

     關閉 Hadoop 進程

    關閉 Hadoop 進程:

     

    再起啟動只需要執行下面命令:

     

     7.

    部署完成

     

     

     

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM