第五课:Hadoop eclipse开发环境配置
以及Eclipse使用插件开发
一、使用插件的原因
为什么要用这个插件了?有什么好处了?
因为我们待分析的文件需要从客户端通过rpc传到NameNode,所以在linux中,是找不到这个文件的,相当于是做了个隔离,所以用个插件就很方便的上传这些文件了,还可以查看目录结构,文件内容。分析后结果也是很方便的查看的到。
二:地址
https://github.com/winghc/hadoop2x-eclipse-plugin
在Release中,我们可以看到有3个编译好的jar包。都是2.0以上的版本,所以对于hadoop2.0以上的都可以用。
三:安装
将插件放入eclipse的插件目录,“eclipse\plugins”。
重启Eclipse
进入Windows->Preferences
选择Hadoop的路径(下载Hadoop 编译后的程序解压,我用的是Hadoop2.7.3,官方下载地址:http://hadoop.apache.org/releases.html)
4、配置Hadoop 连接信息
首先我们进入ambari 管理界面
4.1.查找Mapreduce 地址
2.查找 DFS 地址
注意:H30是我的 服务器HostName(IP:172.21.8.88)
4.3 配置Hadoop
5、配置Window 环境变量
5.1 配置 Hadoop的地址以及用户访问(不配置用户将无法操作Hadoop)
hadoop 连接成功后 我们需要查看 HadoopUser
5.2 在Path中配置hadoop的bin路径
使用Eclipse使用插件创建项目
1. 打开File->New Project->Map/Reduce Project
我们使用的是Hadoop 2.7.3 所以我们去看 2.7.3 的 官网示例代码(http://hadoop.apache.org/docs/r2.7.3/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html)
2. 准备 要统计的文档 words_01.txt
3. 上传words_01.txt 到hadoop
在hadoop的 tmp中创建两个文件夹 input,和 output
上传words_01.txt 到hadoop的tmp\input中(如果看不到可以右键刷新)
4. 配置main方法的输入输出
5. 空指针错误
有人遇到空指针错误:“Exception in thread "main" Java.lang.NullPointerException”
该错误的修正,需做如下操作:
5.1 下载hadoop.dll、winutils.exe文件放到eclipse所连接的hadoop的bin目录下(我使用的是Hadoop 2.7.3 分享下我的链接 http://pan.baidu.com/s/1dFGetOX);
5.2 环境变量的PATH里边加一下Hadoop的bin目录。
6.有人日志打不出来,报警告信息
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
这个需要在项目的src下面新建file名为log4j.properties的文件
内容为:
# Configure logging for testing: optionally with log file
#log4j.rootLogger=debug,appender log4j.rootLogger=info,appender
#log4j.rootLogger=error,appender
#\u8F93\u51FA\u5230\u63A7\u5236\u53F0 log4j.appender.appender=org.apache.log4j.ConsoleAppender
#\u6837\u5F0F\u4E3ATTCCLayout log4j.appender.appender.layout=org.apache.log4j.TTCCLayout
7.运行结果(以后就可以直接运行程序了)