Windows10上Hadoop 2.8.0安装(翻译+所有踩坑)

本文内容翻译自这篇文章https://www.solutionmandi.com/2018/11/hadoop-installation-on-windows-10.html

本教程的所有资源保存在百度网盘
提取码:7qej

0 环境配置

安装Hadoop之前首先需要安装Java,该文章中安装的版本是1.8.0,我也安装的是这个版本的。

注意:java的环境变量不能有空格,我之前放在Program Files路径是不行的

如果在环境变量中改了Java路径,可能还会出现如下问题:
在这里插入图片描述这里能够得到完美解决方案,即将环境变量中%JAVA_HOME%\jre\bin移动到最上面
在这里插入图片描述

这张是 盗图,看右下角双重水印,侵删

1 下载并解压

首先下载百度网盘中的hadoop-2.8.0.tar.gz文件,并移动至D盘(当然,哪个盘都可以)

在当前目录新建Hadoop文件夹,并将tar.gz文件解压入其中。

注:这里不能直接解压,如果直接解压会报如下错误:

在这里插入图片描述

解决办法是首先以管理员身份打开Winrar或者别的解压工具,然后再选择解压即可

在这里插入图片描述
解压后的文件路径应该成为这样子:
在这里插入图片描述在这里插入图片描述如果你仔细看的话会发现我的截图里多了temp,userlog,data这几个文件夹,这是在第四步中新建的,可以暂时不用理会

2 配置环境变量

在Windows路径中添加HADOOP_HOME环境变量:
在这里插入图片描述

3 配置Path变量

将以下路径全部添加到Path中,建议从自己电脑手动复制:

  • D:\Hadoop\hadoop-2.8.0\bin
  • D:\Hadoop\hadoop-2.8.0\sbin
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\common*
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\hdfs
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\hdfs\lib*
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\hdfs*
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\yarn\lib*
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\yarn*
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\mapreduce\lib*
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\mapreduce*
  • D:\Hadoop\hadoop-2.8.0\share\hadoop\common\lib*
  • D:\Java\jdk1.8.0_171\bin

在这里插入图片描述

因为我的Path显示不出这样的列表,从 翻译的文章里盗图了

4 新建文件夹

在D:\hadoop-2.8.0路径下新建data文件夹

在D:\hadoop-2.8.0\data下新建datanode文件夹

在D:\hadoop-2.8.0\data下新建namenode文件夹

在D:\hadoop-2.8.0下新建temp文件夹,作为临时数据存储

在D:\hadoop-2.8.0下新建userlog文件夹,作为日志文件夹

在这里插入图片描述在这里插入图片描述

5 配置XML文件

编辑D:/Hadoop/hadoop-2.8.0/etc/hadoop/core-site.xml文件,修改成为如下内容:

<configuration>

   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
   </property>
</configuration>

编辑D:/Hadoop/hadoop-2.8.0/etc/hadoop/mapred-site.xml.template,首先修改文件名为mapred-site.xml,然后修改成为如下内容:

<configuration>

   <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
</configuration>

编辑D:/Hadoop/hadoop-2.8.0/etc/hadoop/hdfs-site.xml文件,修改成为如下内容:

<configuration>

   <property>
       <name>dfs.replication</name>
       <value>1</value>
   </property>
   <property>
       <name>dfs.namenode.name.dir</name>
       <value>/D:/Hadoop/hadoop-2.8.0/data/namenode</value>
   </property>
   <property>
       <name>dfs.datanode.data.dir</name>
       <value>/D:/Hadoop/hadoop-2.8.0/data/datanode</value>
   </property>
</configuration>

编辑D:/Hadoop/hadoop-2.8.0/etc/hadoop/yarn-site.xml文件,修改成为如下内容:

<configuration>

   <property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
   </property>
   <property>
       <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> 
 <value>org.apache.hadoop.mapred.ShuffleHandler</value>
   </property>
   <property>
  <name>yarn.nodemanager.log-dirs</name>
  <value>/D:/Hadoop/hadoop-2.8.0/userlog</value><final>true</final>
 </property>
  <property><name>yarn.nodemanager.local-dirs</name>
 <value>/D:/Hadoop/hadoop-2.8.0/temp/nm-localdir</value>
 </property>
</configuration>

最后用笔记本打开D:/Hadoop/hadoop-2.8.0/etc/hadoop/hadoop-env.cmd文件,查看是否有如下内容
在这里插入图片描述

6 管理Hadoop配置

说实话我也不知道这是啥,就按照博主的一步步来了

将D:\Hadoop\hadoop-2.8.0\bin文件夹删除,用百度网盘中下载的HadoopConfiguration-FIXbin.zip文件夹里的bin文件替代

打开命令行,输入hadoop version检查版本,如果你出现了这个问题,恭喜,那就是我在第0步所说的,Java的路径有空格:

在这里插入图片描述

如果你的环境没有问题了,那就应该是这样样子:

在这里插入图片描述
在D:\Hadoop\hadoop-2.8.0\bin路径下shlft+右键打开PowerShell,输入hdfs namenode –format

在这里插入图片描述
感觉我的和文章中博主的输出不一样…应该没什么关系吧(大概)

7 启动Hadoop

在D:\Hadoop\hadoop-2.8.0\sbin目录下同样打开PowerShell,然后输入start-all.cmd启动apache,会弹出来四个窗口
在这里插入图片描述
正常来说应该是这四个窗口:

  • Hadoop Datanaode
  • Hadoop Namenode
  • Yarn Nodemanager
  • Yarn Resourcemanager

可以看到少了一个Namenode,是因为出错了。

在这里插入图片描述后来在老师的帮助下,在这个博客找到了解决方案,据说是重新格式化namenode的操作:

  1. 修改D:\Hadoop\hadoop-2.8.0\etc\hadoop\hdfs-site.xml文件,添加如下内容
<property>
  <name>dfs.http.address</name>
  <value>0.0.0.0:50070</value>
</property>
  1. 在D:\Hadoop\hadoop-2.8.0目录,用PowerShell分别执行以下内容:
sbin/stop-dfs.sh
sbin/stop-yarn.sh

bin/hdfs namenode -format

sbin/start-dfs.sh
sbin/start-yarn.sh

在这里插入图片描述

完美解决

可以通过打开链接验证服务启动:

不过不建议使用start-all.cmd指令,可以分别执行以下命令:

  • start-dfs.cmd
  • start-yarn.cmd

8 停止Hadoop

停止全部:

  • Stop-all.cmd

分别停止:

  • Stop-dfs.cmd
  • Stop-yarn.cmd

9 动手实践(此时先要启动start-dfs.cmd)

使用命令将文件复制到HDFS

  • hadoop fs -mkdir /raj
  • hadoop fs -mkdir /raj/data
  • hadoop fs -ls /raj
  • hadoop fs -copyFromLocal 文件路径 /raj/data/
    在这里插入图片描述
    不知道为啥必须得用反斜杠路径…

    如果顺利的话,就可以在这里http://localhost:50070/explorer.html#/raj/data看到它了
    在这里插入图片描述完结!撒花~
发布了7 篇原创文章 · 获赞 21 · 访问量 322

猜你喜欢

转载自blog.csdn.net/weixin_42763696/article/details/105364546