下载链接:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
去官网下载hadoop解压出来
需要下载两个辅助文件:hadoop.dll、winutils.exe
因为csdn下砸积分越来越多提供免费下载地址:https://gitee.com/qwerdfs/springboot/tree/master/hadoop
官网没有此文件,因为此文件需要编译
配置环境变量:
先配置:HADOOP_HOME E:\hadoop-3.2.0
在配置 :CLASSPATH ;%HADOOP_HOME%\bin\winutils.exe (记得加分号)
然后需要配置以下文件
4.在路径D:\hadoop-2.8.3\etc\hadoop下修改文件
①core-site.xml(配置默认hdfs的访问端口)
复制代码
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
复制代码
②hdfs-site.xml(设置复制数为1,即不进行复制。namenode文件路径以及datanode数据路径。)
复制代码
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/data/dfs/datanode</value>
</property>
</configuration>
复制代码
③将mapred-site.xml.template 名称修改为 mapred-site.xml 后再修改内容(设置mr使用的框架,这里使用yarn)
复制代码
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
复制代码
④yarn-site.xml(这里yarn设置使用了mr混洗)
复制代码
<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>
复制代码
⑤hadoop-env.cmd
设置JAVA_HOME的值(如果这里使用了带空格的Program Files路径将会报错!)
set JAVA_HOME=C:\Java\jdk1.8.0_73
5.进入D:\hadoop-2.8.3\bin目录,格式化hdfs
在cmd中运行命令 hdfs namenode -format
6.进入D:\hadoop-2.8.3\sbin目录
在cmd中运行命令start-all.cmd
出现找不到hadoop文件的错误时,可以在start-all.cmd文件上方加入hadoop文件所在位置目录
cd D:\hadoop-2.8.3\bin
可以测试一下 hadoop version
java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0
如果出现上面这个异常
1.hadoop/bin中有有两个文件hadoop.dll 和winutils.exe
2.配置环境变量 path 中增加hadoop的bin 路径
3.配置了classpath 配置到winutils.exe
4.将hadoop.dll 和winutils.exe放在system32 和SysWOW64
5.偏方 将hadoop.dll 和winutils.exe 放在jdk 的bin 目录下
6.修改源码,在项目下新建一个包名是org.apache.hadoop.io.nativeio 将类NativeIO 中
public static boolean access(String path, AccessRight desiredAccess)
throws IOException {
//return access0(path, desiredAccess.accessRight());
return true;
}
7.若以上都没有解决,一定要查看安装路径是否有中文
http://localhost:8088/cluster/nodes
至此就安装成功了。。。学会了吗