目錄
【已解決】格式化總是報錯 The markup in the document following the root element must be well-formed
【已解決】無法將“start-all.cmd”項識別爲 cmdlet、函數、腳本文件或可運行程序的名稱。
1 JDK
1.1 下載
按照自己的版本去官網下載(需要註冊登錄) github下載
1.2 安裝
安裝按提示,唯一要注意的是:JDK的安裝路徑不要帶空格!否則會報錯“C:\Program不是內部或外部命令”。
所以不能裝到 Program Files 目錄下。
舉栗子:E:\Hadoop\Java\jdk1.8.0_231
嗯……順手把jre的安裝目錄也改了
1.3 配置環境變量
點開環境變量配置(不會可以百度,不截圖)
1 新建系統變量
2 JAVA_HOME
3 安裝JDK的文件目錄,我安裝在E:\Hadoop\Java\jdk1.8.0_231,就填這個,不是Jre的
1.4 成功測試
2 Hadoop
2.1 下載
官網下載Hadoop對應版本安裝包,然後解壓到目標網址即可:官網下載 鏡像網站(更快)
注意:不要下錯啦,不要上面src的壓縮包
下完解壓到對應位置就好
注意:Hadoop不支持win,因此還要下載winutils:github下載
找到對應的版本,用裏面的文件替換hadoop\bin目錄下的對應文件。(如何從 GitHub 上下載指定項目的單個文件或文件夾GitZip)
我下下來的是壓縮包,直接解壓到對應bin目錄,有重複文件全部替換(也可以解壓後把文件copy到bin目錄下,選擇全部替換即可)
2.2 配置環境變量
要配置3條
2.3 配置文件
現在E:\Hadoop\hadoop-2.8.5目錄下新建一個文件夾,建議就叫workspace,不同一也沒關係。
在新建的文件目錄下,新建三個文件,如下圖。
打開E:\Hadoop\hadoop-2.8.5\etc\hadoop,開始複製粘貼修改工作,一共要配置4個文件.
core-site.xml 文件
這個地址後續實驗經常用,請銘記 hdfs://localhost:9000
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/E:/Hadoop/hadoop-2.8.5/workspace/tmp</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/E:/Hadoop/hadoop-2.8.5/workspace/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<!-- 這個地址後續實驗經常用,請銘記 hdfs://localhost:9000 -->
hdfs-site.xml
因爲是單機版的,所以dfs.replication設置爲1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>//E:/Hadoop/hadoop-2.8.5/workspace/data</value>
</property>
</configuration>
mapred-site.xml.template 文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<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>
2.4 格式化hdfs
打開cmd 輸入hdfs namenode -format
【問題】格式化總是報錯 The markup in the document following the root element must be well-formed.
【解決】知道是上面四個文件配置出問題,但是無論如何修改都不行(度娘沒用啊)
最後的解決辦法是,刪掉這四個文件,從能運行的hadoop裏複製粘貼這四個文件,重新修改就OK了。github下載配置文件
2.5 啓動
只要再路徑中添加了sbin,就可以再cmd中輸入start-all.cmd啓動,輸入stop-all.cmd關閉。
否則要在E:\Hadoop\hadoop-2.8.5\sbin目錄下輸入。
【問題】無法將“start-all.cmd”項識別爲 cmdlet、函數、腳本文件或可運行程序的名稱。
【解決】未解決,不要用PowerShell,使用windows cmd替代即可。
3 參考
大數據入門(五)windows上搭建單機版Hadoop2.8(踩坑記錄)
無法將“python”項識別爲 cmdlet、函數、腳本文件或可運行程序的名稱