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 的環境變量
使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.
部署完成