注意:hadoop3.0.0已經把50070的默認端口修改爲9870,注意查看和當前使用的hadoop版本對應的官方文檔
下載hadoop:
點擊下面鏈接進行下載
解壓完後,bin裏面還缺少了winutils.exe和hadoop.dll 需要額外下載
https://github.com/s911415/apache-hadoop-3.1.0-winutils
然後將hadoop.dll複製到C:\Windows\System32中 否則 會報 Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
如果出現上面的情況,則修改hadoop-env.cmd中的
JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_111
PS:因爲Program Files中存在空格,若是直接使用會出現錯誤,可以進行如下處理: 只需要用PROGRA~1 代替Program Files,即改爲C:\PROGRA~1\Java\jdk1.8.0_111
hadoop四大文件配置
core-site.xml
<configuration>
<!-- 指定HADOOP所使用的文件系統schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- 指定hadoop運行時產生文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/D:/environment/hadoop3.0.0/hadoop-3.0.0/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<!-- hadoop 3.0這個端口默認是 9870 -->
<!-- <property> -->
<!-- <name>dfs.http.address</name> -->
<!-- <value>127.0.0.1:9870</value> -->
<!-- </property> -->
<!-- 這個參數設置爲1,因爲是單機版hadoop -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/D:/environment/hadoop3.0.0/hadoop-3.0.0/data/datanode</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/D:/environment/hadoop3.0.0/hadoop-3.0.0/data/namenode</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</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>
配置完畢
5、格式化系統文件:
hadoop/bin下執行 hdfs namenode -format
待執行完畢即可,不要重複format。
格式化完成後到hadoop/sbin下執行 start-dfs啓動hadoop
訪問:http://localhost:9870 網頁類似下面這樣