注意: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 网页类似下面这样