尝试在本地win10上安装hadoop,在官网选择了最新的hadoop版本,就是这里开始给自己挖了坑,对着网上的博客一顿操作,发现节点一直启动不成功。本着不放弃的原则,在不停的配置过程中继续折腾,终于解决问题。
JDK 安装参考我之前Java的博客 :JDK安装详解
这里需要注意的如果jdk版本过高可能会带来问题
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
用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
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://localhost:9000value>
property>
configuration>
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hahoop.mapred.ShuffleHandlervalue>
property>
configuration>
需要再hadoop解压的根目录下创建一个data文件夹,并在data下创建namenode和datanode两个子文件夹;
然后添加配置文件 :
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.permissionsname>
<value>falsevalue>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/namenodevalue>
property>
<property>
<name>fs.checkpoint.dirname>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/snnvalue>
property>
<property>
<name>fs.checkpoint.edits.dirname>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/snnvalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/F:/Environment/hadoop-3.1.2/hadoop/data/datanodevalue>
property>
configuration>
配置文件修改完毕 !
下载的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文件即可:
可以看到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 namenode -format
如果这一步没有什么异常基本没有问题了。
进入hadoop的sbin目录
我这里在 : F:\Environment\hadoop-3.1.2\hadoop\sbin
# 启动
# 会自动开启四个新的命令行窗口,窗口没打印异常即启动成功
start-all
# 停止
stop-all
# 查看正在运行的实例进程及端口
jps
这四个窗口不能关闭 , 否则进程会结束
启动成功后,可以访问GUI页面
http://localhost:8088
http://localhost:9870
最后我们停止一下所有进程
运行结束后你会发现hadoop安装的磁盘根目录下多了一个tmp临时文件目录
里面有一些 Hadoop的缓存文件 , 可以酌情清理 !
编辑不易 , 转载注明出处 : 西部开源-秦疆 2019.07.06 00:47 更新