win10 64位
hadoop3.1.2
jdk1.8
这里不再赘述
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
注意:之前下载的是hadoop-3.2.1.tar.gz最高版本,但是一直报posix错误,可能是因为winutils的版本对应有问题,所以切换成了hadoop-3.1.2版本。
将hadoop-3.1.2.tar.gz copy到要安装的目录,CMD进入目录, 输入
start winrar x -y hadoop-3.1.2.tar.gz
执行解压。这里如果直接解压的话,会报路径过长错误。
将解压目录添加环境变量中,如下图,这里是直接在解压在F盘目录下:
添加系统变量,并在PATH添加路径:
在jdk和hadoop环境配置好后,在命令行窗口上分别执行:
java -version
能得到java版本输出,说明配置成功
hadoop version
能得到hadoop版本输出,说明配置成功
需要修改的文件在解压后的目录下,hadoop-3.1.2\etc\hadoop\
用记事本打开hadoop-env.cmd文件,找到**set JAVA_HOME=%JAVA_HOME%**一行,将其值修改为jdk所在目录,如果目录带有空格,可以通过下面两种方式处理:这里以安装目录为C:\Program Files\Java\jdk1.8.0_181为例,因为Program Files中存在空格,若是直接使用会出现错误,可以下面两种方式之一进行处理:
只需要用PROGRA~1 代替Program Files,即改为C:\PROGRA~1\Java\jdk1.8.0_18
或是使用双引号改为 “C:\Program Files”\Java\jdk1.8.0_181
在core-site.xml 文件中添加:
fs.defaultFS
hdfs://localhost:9001
在mapred-site.xml文件中添加:
mapreduce.framework.name
yarn
在yarn-site.xml文件中添加:
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hahoop.mapred.ShuffleHandler
4.在解压的根目录下创建data文件夹,并在data下创建namenode和datanod两个子文件夹;
在hdfs-site.xml文件添加:
dfs.replication
1
dfs.namenode.name.dir
/C:/ProgramFiles/ApacheSoftwareFoundation/hadoop-3.1.2/workspace/namenode
dfs.datanode.data.dir
/C:/ProgramFiles/ApacheSoftwareFoundation/hadoop-3.1.2/workspace/datanode
下载的Hadoop不支持Windows系统,需要替换bin目录下的文件方便在Windows上运行。这也是掉坑来的地方了!!!!
在网上下载到的hadooponwindows-master.zip 以及winutils中应该是只适合hadoop 3.0.0及其以下,尝试过hadooponwindows-master.zip以及winutils中最高的版本3.0.0,启动hadoop都会出现下面的错误:Error starting NodeManager、UnsatisfiedError
折腾了好久(低版本的hadoop还没下载完毕),终于找到3.1.0版本winutils,下载后直接替换掉hadoop目录下bin文件即可:
https://github.com/zyj108/apache-hadoop-3.1.0-winutils
重新启动
start-all.cmd
可以看到resourcemanager.ResourceManager: Error starting ResourceManager启动失败的日志,报了类TimelineCollectorManager找不到的错误,
解决方法: HADOOP_HOME\share\hadoop\yarn\timelineservice 将这个文件夹下的hadoop-yarn-server-timelineservice-3.1.1.jar 包 复制到这个路径下 HADOOP_HOME\share\hadoop\yarn 即可解决。
会自动开启四个新的命令行窗口,窗口没打印异常即启动成功,再执行命令:
jps
可以看到DataNode、NameNode、NodeManager、ResourceManager正常启动。
启动成功后,可以访问GUI页面
http://localhost:8088/
http://localhost:9870/
参考资料
https://blog.csdn.net/qq_33398459/article/details/86687379
https://blog.csdn.net/qq_24125575/article/details/76186309
https://blog.csdn.net/houwanle/article/details/81773832