即使再小的帆也能远航
西部开源-秦疆老师:Hadoop系列博客 , 秦老师交流Q群号: 664386224 , 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉!
尝试在本地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
fs.defaultFS
hdfs://localhost:9000
mapreduce.framework.name
yarn
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hahoop.mapred.ShuffleHandler
需要再hadoop解压的根目录下创建一个data文件夹,并在data下创建namenode和datanode两个子文件夹;
然后添加配置文件 :
dfs.replication
1
dfs.permissions
false
dfs.namenode.name.dir
/F:/Environment/hadoop-3.1.2/hadoop/data/namenode
fs.checkpoint.dir
/F:/Environment/hadoop-3.1.2/hadoop/data/snn
fs.checkpoint.edits.dir
/F:/Environment/hadoop-3.1.2/hadoop/data/snn
dfs.datanode.data.dir
/F:/Environment/hadoop-3.1.2/hadoop/data/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文件即可:
可以看到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的缓存文件 , 可以酌情清理 !
上面是转载内容:补充如下
下载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下一份