之前上课做过一次Hadoop实验。之后很久都没有再使用。这次又历时两天+看之前的比较+百度才把环境搭好。把之前的截图存起来吧。有点像小孩的简笔画。自己可能比较好理解。
- 环境搭好之后。准备一个Wordcount代码和一个 Hadoop-eclipse插件。
- 找到自己eclipse安装目录。将插件拷贝进去。 如果拷贝至plugins文件夹下在eclipse中无法打开hdfs。 就拷贝至dropins
可以参考:http://www.cnblogs.com/liuxianan/archive/2013/01/15/2860579.html
- 启动eclipse
- 加载Hadoop安装目录
- 找出mapreduce控制台
- 设置HDFS 配置信息
- master位置对应你的主机名称。 或者主机IP地址。Locationg name 可以任意填写
- 之后选择MapReduce操作界面
- 配置成功可以看到之前建立好的文件目录(安装Hadoop过程中,创建过才会有)
- 可以先创建。Wordcount的输入目录。并上传需要统计的文件。可以上传两个txt文本文件。
- 新建Hadoop项目。
- 将代码拷贝至工程。准备配置参数。运行。
- 注意! 输出目录。不能预先存在。 否则会报错。 程序不会覆盖原目录。 eg:out8 不能存在。
- Run on Hadoop . 选择在集群上运行
- 查看运行结果
run as hadoop 提示如下警告:
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.
论坛有解决办法经测试成功解决我的问题,以此记录。
这种情况一般是由于log4j这个日志信息打印模块的配置信息没有给出造成的,可以在项目的src目录下,新建一个文件new->other->general->file,命名为“log4j.properties”,填入以下信息:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
保存后重新运行即可成功。