即使再小的帆也能远航
Hadoop:Win10下安装Hadoop3.1.2
西部开源-秦疆老师:Hadoop系列博客 , 秦老师交流Q群号: 664386224 , 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉!
Win10下安装Hadoop3.1.2详解
尝试在本地win10上安装hadoop,在官网选择了最新的hadoop版本,就是这里开始给自己挖了坑,对着网上的博客一顿操作,发现节点一直启动不成功。本着不放弃的原则,在不停的配置过程中继续折腾,终于解决问题。
安装环境
- JDK 1.8
- Windows10
- Hadoop3.1.2
JDK 安装参考我之前Java的博客 :JDK安装详解
这里需要注意的如果jdk版本过高可能会带来问题
安装Hadoop
- 官网下载Hadoop3.1.2 :下载地址
- 解压到自定义的文件夹,我这里选择我的路径
F:\Environment\hadoop-3.1.2\hadoop
- 配置环境变量
JAVA_HOME : F:\Environment\java\jdk1.8.0_181
HADOOP_HOME : F:\Environment\hadoop-3.1.2\hadoop
path添加 :
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
%HADOOP_HOME%\bin
- 检测是否安装成功
java -version
hadoop - version
出现以上信息说明安装成功 !
修改配置文件
需要修改的文件在解压后的目录下,F:\Environment\hadoop-3.1.2\hadoop\etc\hadoop
hadoop-env.cmd
用Notepad++ 打开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
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</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.hahoop.mapred.ShuffleHandler</value>
</property>
</configuration>
hdfs-site.xml
需要再hadoop解压的根目录下创建一个data文件夹,并在data下创建namenode和datanode两个子文件夹;
然后添加配置文件 :
<configuration>
<!-- 这个参数设置为1,因为是单机版hadoop -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/namenode</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/snn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/datanode</value>
</property>
</configuration>
配置文件修改完毕 !
替换bin文件
下载的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文件即可:
复制yarn的jar包
可以看到resourcemanager.ResourceManager: Error starting ResourceManager启动失败的日志
报了类TimelineCollectorManager找不到的错误。
解决方法:
F:\Environment\hadoop-3.1.2\hadoop\share\hadoop\yarn\timelineservice
将这个文件夹下的hadoop-yarn-server-timelineservice-3.1.2.jar 包
复制到这个路径下 F:\Environment\hadoop-3.1.2\hadoop\share\hadoop\yarn 即可解决。
格式化HDFS文件系统
hdfs namenode -format
如果这一步没有什么异常基本没有问题了。
启动
进入hadoop的sbin目录
我这里在 : F:\Environment\hadoop-3.1.2\hadoop\sbin
# 启动
# 会自动开启四个新的命令行窗口,窗口没打印异常即启动成功
start-all
# 停止
stop-all
# 查看正在运行的实例进程及端口
jps
这四个窗口不能关闭 , 否则进程会结束
访问管理GUI
启动成功后,可以访问GUI页面
最后我们停止一下所有进程
结尾
运行结束后你会发现hadoop安装的磁盘根目录下多了一个tmp临时文件目录
里面有一些 Hadoop的缓存文件 , 可以酌情清理 !
上面是转载内容:补充如下
下载windows专用二进制文件和工具类依赖库: hadoop在windows上运行需要winutils支持和hadoop.dll等文件
https://github.com/steveloughran/winutils
在github仓库中找到对应版本的二进制库hadoop.dll和winutils.exe文件,然后把文件拷贝到hadoop解压的bin目录中去
注意: hadoop.dll等文件不要与hadoop冲突,若出现依赖性错误可以将hadoop.dll放到C:\Windows\System32下一份