Windows下搭建本地hadoop環境
一、安裝JDK
下載地址:
安裝
雙擊安裝,安裝到目錄:D:\soft\JDK1.8
配置
環境變數配置:
在環境變數新增系統變數:JAVA_HOME:D:\soft\JDK1.8
在path中新增:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
驗證
在cmd終端執行命令:java
如果沒有報錯,且打印出相關資訊,說明安裝成功。
二、安裝Hadoop
2.1 下載Hadoop
2.2 安裝Hadoop
將Hadoop安裝檔案解壓到指定目錄:D:\develop\hadoop-2.7.6
2.3 配置Hadoop的環境變數
在path中新增: D:\develop\hadoop-2.7.6\bin
2.4 配置Hadoop檔案
1.編輯“D:\develop\hadoop-2.7.6\etc\hadoop”下的core-site.xml檔案,將下列文字貼上進去,並儲存。
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/D:/develop/hadoop/workplace/tmp</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/D:/develop/hadoop/workplace/name</value>
</property>
<property>
<name>fs.default .name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2.編輯“D:\develop\hadoop-2.7.6\etc\hadoop”目錄下的hdfs-site.xml,貼上以下內容並儲存。
<configuration>
<!-- 這個引數設定為1,因為是單機版hadoop -->
<property>
<name>dfs.replication</name>
<value>1 </value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/D:/develop/hadoop/workplace/data</value>
</property>
</configuration>
3.編輯“D:\develop\hadoop-2.7.6\etc\hadoop”目錄下的mapred-site.xml(如果不存在將mapred-site.xml.template重新命名為mapred-site.xml)檔案,貼上一下內容並儲存。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
4.編輯“D:\develop\hadoop-2.7.6\etc\hadoop”目錄下的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>
</configuration>
5.編輯“D:\develop\hadoop-2.7.6\etc\hadoop”目錄下的hadoop-env.cmd檔案,加入JAVA_HOME的路徑,然後儲存。
export JAVA_HOME=${JAVA_HOME}
2.5 替換檔案
2.6 執行hadoop
- 1.執行cmd視窗,執行:hdfs namenode -format。
- 2.執行cmd視窗,切換到hadoop的sbin目錄,執行start-all.cmd,它將會啟動以下4個程序視窗。
2.7 驗證
Namenode GUI 地址 – http://localhost:50070
如果這兩個地址都能夠開啟,說明執行成功。bindexception address already in use:0.0.0.0:50070
檢視埠50070: netstat -ano|findstr 50070
發現埠並沒有被佔用。
按照網上的方法:- 暫停所有Hadoop程序;
- 清除core-site.xml、hdfs-site.xml檔案中配置的所有目錄檔案
- 重新hdfs namenode -format
重新執行D:\develop\hadoop-2.7.6\sbin/start-all.cmd,結果還是報錯。
懷疑是其他軟體影響導致,於是,關閉了360衛士和360防毒等軟體,保留了谷歌瀏覽器。 重複上述方法,OK啦!
2.8 上傳檔案測試
2.8.1 建立輸入目錄
hadoop fs -mkdir hdfs://localhost:9000/user/
上傳資料到目錄
hadoop fs -put D:\test\README.txt hdfs://localhost:9000/user/wcinput
檢視檔案
終端執行命令hadoop fs -ls hdfs://localhost:9000/user/wcinput
D:\develop\hadoop-2.7.6>hadoop fs -ls hdfs://localhost:9000/user/wcinput
Found 1 items
-rw-r–r– 1 tancan supergroup 1366 2018-07-06 22:19 hdfs://localhost:9000/user/wcinput/README.txt
–發現檔案已經存在。