1. 程式人生 > >window下hadoop的安裝搭建與Myeclipse配套使用教程

window下hadoop的安裝搭建與Myeclipse配套使用教程

突然需要用到Hadoop環境,先是在linux環境下搭建了偽分佈模式。但是由於我是用Myeclipse工具進行MapReduce的程式編寫,顯然在window下除錯比打jar包部署到linux伺服器上執行要方便很多。故此,在本機win7環境下進行了hadoop的偽分佈環境的搭建。

一、進行Hadoop的安裝包的下載與解壓

注:搭建hadoop環境必須jdk支援,能搭建hadoop的不能夠沒有jdk吧,這裡就不講jdk的安裝與環境配置了,自行腦補去

1、可自行去hadoop官網https://hadoop.apache.org/releases.html去下載,我下載的是2.8.5版本的

     注:一定要下載的是已編譯過的壓縮包,就是二進位制的包Binary 下的版本,字尾名為hadoop-2.8.5.tar.gz的檔案包

2、將下載下來的安裝包用管理員身份進行解壓,我本地解壓目的地為C:\hadoop-2.8.5資料夾

3、進行環境變數的配置

將hadoop的路徑進行配置環境變數,類似jdk的環境變數的配置

1)計算機-->屬性-->高階系統變數-->環境變數-->新建系統變數(也可以直接新建使用者變數,但是新增使用者變數後,命令視窗只能用管理員身份執行才能識別hadoop命令,所以建議直接新建系統變數)變數名:HADOOP_HOME  變數值:C:\hadoop-2.8.5 因為我的在這個位置,所以你根據自己位置自己靈活設定,總之是bin目錄的上一層。

2)配置好HADOOP_HOME後,需要在Path中開啟編輯,定位到末尾新增變數%HADOOP_HOME%\bin;

3)配置好環境變數後,執行cmd,輸入hadoop version 命令,進行檢驗環境變數是否配置成功,如果成功,則提示版本號。如果提示  'hadoop不是內部命令'  等錯誤資訊,則說明環境變數沒有配置正確,則仔細看上述操作步驟再試一遍。

 

二、由於window下搭建hadoop環境需要winutils.exe和hadoop.dll等的支援,所以需要下載對應版本的工具。

1、現提供百度網盤下載連結為:https://pan.baidu.com/s/1TS-NK48WaJ0wOT0keWJHUQ

 (或者可以去我的csdn資源積分下載https://download.csdn.net/download/top__one/10833759),下載下來解壓後查詢對應的版本號即可(我hadoop為2.8.5版本,但是也可以用壓縮包中hadoop-2.8.3版本下的bin檔案進行替換)。

2、將本地hadoop-2.8.5下的bin目錄刪除,然後拷貝工具類中的hadoop-2.8.3版本下的bin目錄,然後貼上到本地hadoop-2.8.5目錄下即可

三、對hadoop的配置進行修改,搭建偽分佈環境,配置檔案目錄為C:\hadoop-2.8.5\etc\hadoop

1、修改core-site.xml

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

2、修改hdfs-site.xml.  修改完以後需要手動在hadoop-2.8.5目錄下自動新建data資料夾及子資料夾namenode和datanode。

此位置對應下列引數中的namenode和datanode的位置。配置如下:

<configuration>
<!-- 這個引數設定為1,因為是單機版hadoop -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property> 
     <name>dfs.permissions</name> 
     <value>false</value> 
  </property>

<!-- 這個引數設定為namenode,靈活修改value值,為你本地新建目錄路徑 -->
   <property>
       <name>dfs.namenode.name.dir</name>
       <value>/C:/hadoop-2.8.5/data/namenode</value>
   </property>

<!-- 這個引數設定為datanode,靈活修改value值,為你本地新建目錄路徑 -->
   <property>
       <name>dfs.datanode.data.dir</name>
       <value>/C:/hadoop-2.8.5/data/datanode</value>
   </property>

</configuration>

3、複製mapred-site.xml.template,並去掉字尾名.template,然後修改mapred-site.xml檔案

開啟mapred-site.xml,並修改配置如下:

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

4、修改yarn-site.xml

<configuration>

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>
   <property>
          <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>  
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
   </property>

</configuration>

5、修改hadoop-env.cmd檔案,找到set JAVA_HOME=%JAVA_HOME%這一行進行修改

set JAVA_HOME=C:\jdk1.6.0_32_x64   (注:此處為你的jdk位置,需要你根據本機jdk位置靈活配置)

至此,所以hadoop的偽分佈環境配置結束,接下來進行namenode的格式化和hadoop環境的啟動

四、hadoop的namenode格式化及環境啟動

1、開啟cmd命令視窗,執行命令hdfs namenode -format

正常情況下會格式化成功,很不幸我的報錯了,是因為家裡的電腦裝的jdk1.6版本的,不支援hadoop-2.8.5的編譯檔案執行,所以需要我更換高版本的jdk,比如jdk1.7 jdk1.8等

所以我重新配置一個高版本的jdk以後(配置完新的jdk記得修改上一步中的第五條中的set JAVA_HOME=) ,繼續執行命令hdfs namenode -format  ,出現下面截圖情況 Storage directory C:\hadoop-2.8.5\data\namenode has been successfully formatted.,代表格式化成功。

2、啟動hadoop環境

切換命令視窗到C:\hadoop-2.8.5\sbin目錄下 ,執行start-all.cmd命令,啟動環境

啟動完以後會瞬間啟動四個命令視窗(注:如果啟動不成功,報java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)錯誤,則有可能是jdk版本不夠的問題,需要更高版本的jdk'支援,修改完高版本的jdk環境變數後,同樣不要忘了上一步中的第五條中的set JAVA_HOME=),如下圖所示,這表示這環境正在啟動

啟動完成後,在最開始自己啟動的cmd視窗中,繼續輸入命令jps,檢查是否完全啟動。如下圖所示,代表成功啟動環境,至此hadoop在window下的偽分佈模式搭建完成。

五、HDFS應用

1、通過http://127.0.0.1:8088/即可檢視叢集所有節點狀態: