Windows下配置单机Hadoop环境
下载Hadoop
首先,请确保电脑上已经安装了 JDK并配置了环境变量。因为 Hadoop的底层实现语言是 Java,必须在 Java 环境下 Hadoop 才能正常运行。(注意,一定要使用 64位 的 java 版本)
接着,我们去 Hadoop 官网下载一个 Hadoop 的稳定版本,然而考虑到官网是外网,下载可能需要两三个小时,实在是太过缓慢。
这里我们推荐使用北理工的镜像站来下载 Hadoop 的稳定版本 Hadoop北理工镜像
镜像站提供了几个稳定版本,这里我们选择的是 hadoop-2.7.7,点击进入目录
我们选择 hadoop-2.7.7.tar.gz ,因为 Hadoop 的安装包Windows 和 Linux是一样的,所以后缀是 tar.gz。
“开始”里面找到 WinRAR,右击->“更多”->“以管理员权限运行”
找到刚才下载的 Hadoop压缩包,解压到自己想要的安装位置,比如我的安装位置是“D:\Dpan\hadoop”。
请一定要使用管理员身份解压,不然可能解压出的文件少那么一两个,错误了你都找不到原因。
下载配置文件
下载关于 Hadoop 的 Windows 配置文件,这里给出百度云链接
链接:https://pan.baidu.com/s/1NAfsFsPz561Gp6FMo2YOMg
提取码:ewry
下载完配置文件之后,解压出来。将 bin 和 etc 文件夹替换掉刚解压的官方下载包中的 bin 和 etc 文件夹。注意是替换,直接拷贝过来选择全部替换!
打开刚才解压的 hadoop-2.7.7 文件夹,找到文件夹下的 \etc\hadoop 目录,使用编辑器对配置文件 hadoop-env.cmd 进行修改。在代码的第26行,把路径修改为你自己电脑上的JAVA_HOME路径。(如果忘记了JAVA_HOME,可以去环境变量里查看)
这里注意,如果路径中带空格的文件夹需要用软链进行替代,否则 Hadoop 也是运行不起来的。 比如“Program Files”,要用“PROGRA~1”替代。
set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_171
接着,使用编辑器修改同级目录下的 hdfs-site.xml 文件,将最后两个 property 的 value 值修改为“/项目目录/data/namenode”和“/项目目录/data/datanode”这里要使用绝对路径
然后,在 hadoop-2.7.7 文件夹下,新建“tmp”文件夹和“data”文件夹;
在“data”文件夹下再新建两个文件夹“namenode”、“datanode”。
最后,将 bin 目录下的 hadoop.dll 文件拷贝到 C:\Windows\System32
配置环境变量
Hadoop 环境变量的配置和 JDK的配置方法是一样的。
在系统变量栏点击“新建”
新建 HADOOP_HOME 环境变量,位置就是刚才 Hadoop 包解压的位置
注意这里环境变量的地址中间不能有空格,不然也会报错。
在系统变量中找到“path”变量,点击编辑,“新建”,填入“%HADOOP_HOME%\bin”,环境变量就配置完毕了。
接下来,我们来检查一下。打开 cmd ,输入“hadoop”,如果有提示信息证明 hadoop 环境变量配置成功。
初始化HDFS
在 Windows 系统工具中找到命令提示符,以管理员身份打开。
输入命令
hdfs namenode -format
在弹出信息的接近末尾处,看到 successfully 信息,就证明 HDFS 初始化成功。
启动Hadoop
启动 Hadoop 不要求管理员权限,直接打开 cmd 就可以。
打开 cmd 之后,把路径转到 Hadoop 安装目录的 sbin 文件夹下。强调一下,是 sbin 目录,不是 bin。
输入命令,启动 Hadoop 集群。注意这个命令时连续的,中间没有空格。
start-all
出现了四个命令行窗口,分别是
- namenode
- datanode
- nodemanagr
- resourcemanager
证明 Hadoop 启动成功。
在刚才我们自己打开的 cmd 窗口中输入命令,可以查看运行的所有节点
jps
打开浏览器,输入地址“http://localhost:50070”,可以访问 Hadoop 的 web 页面。
输入地址“http://localhost:8088”,可以访问 yarn 的web界面,表明已经成功
输入地址“http://hostname:8088/logs/”,可以查看hadoop集群运行日志的地址。
下次启动 hadoop 的时候就不需要初始化 HDFS 了,直接启动即可。
关闭Hadoop
在刚才我们自己打开的 cmd 窗口中输入命令
stop-all
就可以停止运行所有节点了
常见错误
安装完Hadoop之后,命令行输入hadoop却找不到命令
解决方法是先查看你的 hadoop 环境变量和 path ,如果没有配置请抓紧配置。如果都配置好了,那就是 source 暂时没有加载出来。关闭此命令行,重新打开即可。
如果启动的四个窗口中缺少 datanode 窗口,是因为HDFS被多次初始化,而导致 namenode 的 clusterID 与 datanode 的 clusterID 不一致。
解决方法有两种:
- 关闭 hadoop ,去 hadoop 的目录下,将 namenode、datanode 文件夹删除,再新建这两个文件夹,再次初始化 HDFS 即可。
- 查到他们的 clusterID,对应修改即可。此方法请见第二个参考博客