單節點叢集模式(a Single Node Cluster)又稱偽分佈模式,只需一個節點即可執行。這種模式一般只是用來學習或者開發、測試使用。實際使用中還是使用多節點的分散式。
1、環境變數配置
為了方便的執行Hadoop程式,需要配置很多系統環境變數。主要有以下幾個變數
設定HADOOP_HOME為Hadoop的安裝路徑
export HADOOP_HOME=/home/hduser/hadoop
設定將hadoop新增到PATH,上文中已經介紹過hadoop的執行檔案在bin和sbin目錄下,透過設定PATH後,我們可以在任何位置執行hadoop命令。
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin
設定hadoop其他環境變數
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
連結庫的相關設定
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME
export HADOOP_OPTS=”-Djava.library.path=$HADOOP_HOME/lib”
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
與配置Jdk的系統環境變數方法一致,我們只需將需要配置的系統變數新增到使用者主目錄下的.bashrc檔案中即可。開啟Ubuntu虛擬機器,然後開啟Xshell連線登陸到虛擬機器,在使用者主目錄下執行命令 vim .bashrc
在新的框體中輸入i進入編輯模式,然後在檔案末尾輸入下述內容
按esc退出編輯模式,輸入:wq儲存並退出
命令列中輸入 source .bashrc命令更新一下系統環境變數
更新完成後我們可以透過echo $HADOOP_HOME測試系統變數是否新增成功,如下圖所示表明已經成功。
Hadoop 預設模式為非分散式模式(本地模式),無需進行其他配置即可執行。非分散式即單 Java 程序,方便進行除錯。在此我們可以在本地模式下執行部分Hadoop自帶MapReduce例子來驗證Hadoop能夠正常執行,同時體驗Hadoop中MapReduce執行命令格式。在命令列中輸入
cd hadoop/ #進入Hadoop安裝檔案目錄
mkdir ./input #在hadoop資料夾下建立輸入檔案
cp ./etc/hadoop/*.xml ./input #將配置檔案作為輸入檔案
./bin/hadoop jar cat ./output/* #檢視執行結果 刪除建立的檔案使用以下命令 rm -r ./output rm -r ./input Hadoop 還可以在單節點上以偽分散式的方式執行,此時Hadoop 程序以分離的 Java 程序來執行,節點既作為NameNode 也作為 DataNode,同時讀取的是 HDFS 中的檔案。這種模式需要修改相應的配置檔案,我們將會在下文中進行詳細講解。