前言
因为平时工作和日常接触到的大都是的中型项目,所以少有个性化推荐等涉及大数据的功能。但是后期应该也会在自己项目中添加信息推荐模块,所以就开始关注spark,hadoop,Thrift等工具,以下就以hadoop先开始,包括环境搭建和配置过程中踩坑过程。
关于hadoop的环境搭建,网上也有各种各样的教程。那来直接按着他们的方法来,前期当前问题不大,但是呢,可能在安装过程中由于每个工具的版本不一致。又或者配置中文件路径不一样等等都很可能导致踩坑无数。不管是开发调测bug还是软件环境搭建,我觉得最好的方法就是看日志,看到error和warn再把错误信息拿去查询,比起xxxx启动报错,xxxx怎么出错了等等确实要快。
环境
- windows10
- jdk8
- hadoop2.7.7
简易搭建
1.windows下jdk8的安装
2.hadoop2.7.7下载完成
3.hadooponwindows-master.zip文件包下载
hadoop和hadooponwindows全都下载完成后,将hadooponwindows-master的bin和etc替换掉hadoop2.7.7的bin和etc文件。
4. hadoop环境变量配置
5. hadoop配置
(1). hadoop-env.cmd配置
找到hadoop的etc/hadoop下的hadoop-env.cmd并打开,设置本地jdk的位置,路径中不能有汉字特殊字符等,如下。
(2). hdfs-site.xml配置
找到hadoop的etc/hadoop下的hdfs-site.xml并打开,在configuration添加如下参数。特别注意的是namenode和datanode两个节点数据存储位置,一定要添加file://协议。并且绝对路径前一定要加“/”,因为这个会导致出现报错的问题,后面再讲。还有windows的路径标识“/”,配置如下。
(3). core-site.xml配置:
找到hadoop的etc/hadoop下的core-site.xml并打开,在configuration添加如下参数。特别注意的是hdfs的端口,因为作为开发本地出现9000端口应该很多,所以这里就先强调记得这里是配置端口的就行,以下是配置。
6. hadoop启动
(1). namenode格式化:
打开cmd面板,输入hdfs namenode -format。出现需要确认创建namenode文件夹的基本上是没问题。
(2). hadoop启动:
切换到hadoop的sbin目录下执行start-all就会弹出四个窗口,datanode, namenode, resourcemanager, nodemanager。
(3). 检查各节点启动情况:
输入jps -,出现以下内容表示全部启动成功,以上四个少了一个都是有问题,就需要去对应窗口查看报错信息查询了。
(4). 查看web控制台:
hadoop的web控制台:127.0.0.1:50070
yarn的web控制台:127.0.0.1:8088
namenode启动报错合集
1.namenode.FSEditLog: No class configured for E, dfs.namenode.edits.journal-plugin.E is empty
这个报错的原因就是hdfs-site.xml配置namenode文件位置开头没有加“/”,这个已经在上面配置的时候已经强调了。
2.common.Util: Path /E:/2setsoft/1dev/hadooponwindows/data/namenode should be specified as a URI in configuration files.
这个报错的原因还是hdfs-site.xml配置namenode文件位置时没有添加“file://”,所以上面的配置时最正确的。
3. ERROR namenode.NameNode: Failed to start namenode. java.net.BindException: Problem binding to 127.0.0.1:9000 java.net.BindException: Address already in use: bind;
这个报错的原因就是9000端口已经被绑定了,所以前面强调core-site.xml的端口时说的就是这里的错误,解决方法就是修改一个其他的端口就可以了。
安利
QQ小程序: 实用工具箱