1. 程式人生 > >Windows 7 64位系統上搭建Hadoop偽分散式環境(很詳細)

Windows 7 64位系統上搭建Hadoop偽分散式環境(很詳細)

在開始配置前,我們先了解Hadoop的三種執行模式。

Hadoop的三種執行模式

  • 獨立(或本地)模式:無需執行任何守護程序,所有程式都在同一個JVM上執行。在獨立模式下測試和除錯MapReduce程式很方便,因此該模式在開發階段比較適合。
  • **偽分散式模式:**Hadoop守護程序執行在本地機器上,模擬一個小規模的叢集。
  • **全分散式模式:**Hadoop守護程序執行在一個叢集上。

下面我們進入正題,即如何在Windows 7上搭建Hadoop偽分散式環境。

  1. 安裝JDK,設定環境變數。
    首先,在控制面板上檢視自己的作業系統是32位還是64位。
    然後,檢查自己的電腦上是否已經具備Java環境。步驟如下:
    1)Ctrl+R
    2)cmd
    3)輸入java -version,若正常顯示java版本,證明本機已安裝java環境,跳到步驟2.若顯示“不是內部或外部命令”,則需要安裝JDK,繼續步驟4)
    4) 安裝JDK,樓主用的是jdk-8u131-windows-x64.exe,因為不允許重複上傳CSDN資源,所以樓主無法提供給大家,可以自行下載。說明:只需安裝JDK,不需要安裝JRE。
    5)配置Java環境變數,配置路徑:計算機(右鍵)–屬性–高階系統設定—高階–環境變數。
    在系統變數處新建,變數名:JAVA_HOME;變數值:你安裝JDK的位置,樓主的是D:\Tools\jdk
    修改path:在原有的那串變數值後增加%JAVA_HOME%\bin;…
    6)測試Java環境
    在cmd視窗:
    測試Java環境:
    echo %JAVA_HOME%
    echo %path%
    path
    java -version
    javac -version
  2. 下載window util for hadoop。為了配合hadoop 2.7.7,樓主也上傳了資源(https://download.csdn.net/download/u013159040/10620589),下載後解壓到hadoop2.7.7的bin目錄下,直接覆蓋該目錄下的所有內容。請注意此util與具體的hadoop版本是有關的,如果選用不同的hadoop版本,需要找到正確的util。
  3. 新增Hadoop環境變數,參考Java的,新建HADOOP_HOME 變數名同樣是自己存放hadoop的位置,如D:\Tools\Hadoop\hadoop-2.7.7, 並新增path路徑:%HADOOP_HOME%\bin
  4. 建立nodename和datanode目錄,用來儲存資料,如:
    d:\tools\hadoop\data\namenode
    d:\tools\hadoop\data\datanode

  5. 在D:\Tools\Hadoop\hadoop-2.7.7\etc\hadoop裡修改4個配置檔案:core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> </property> </configuration>

hdfs-site.xml(不要直接複製樓主的,要看看自己的namenode和datanode存放的位置是否和樓主一致,不一致的要修改):

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/D:/Tools/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/D:/Tools/data/datanode</value>
    </property>
</configuration>

mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml:

<configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>2</value>
    </property>
</configuration>

7.上面步驟完成設定後,就可以試著執行Hadoop了。
Hadoop 啟動命令start -all.cmd
Hadoop 結束命令stop -all.cmd
進入到自己的hadoop sbin目錄(一直cd就行了),啟動start-all.cmd,再jps檢視java程序,如下圖
這裡寫圖片描述
同時,會跳出4個視窗
DataNode
namenode
nodemanager
resourcemanager

下面可以測試Hadoop自帶的Wordcount

  1. 在d盤新建一個txt檔案t1.txt
    t1.txt
  2. 把t1上傳到HDFS: hadoop fs -put d:\t1.txt /t1/t1.txt
  3. cd進到mapreduce,然後可以開始執行wordcount了:
    hadoop jar /D:\Application\hadoop-2.7.7\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.7.jar wordcount \t1 \output
    這裡寫圖片描述
  4. 然後我們可以看到詞頻統計結果:
    這裡寫圖片描述
    網頁上檢視的如下:
    這裡寫圖片描述
    可以下載分散式檔案系統上的這個t1.txt檔案。

——————————————–歡迎一起學習探討————————————————