MapReduce运行在linux系统上,但是对于开发而言,系统平台可能是windows平台,因为在看法测试时,需要让程序运行在Linux上的hadoop集群上。第一种方式是:建立windows和linux之间的连接,开发平台eclipse在windows上,调用hadoop的运行接口和文件存储接口。(windows上没有配置hadoop,因此无法直接在windows上调试,只能开发完,打包之后发送到linux上执行)。第二种方式:windows上配置hadoop,在eclipse中连接linux进行运行测试(无法调试)。(真正企业运行情况)。第三种:可以调试。配置本地hadoop文件。前两种也叫作服务器环境,第三种为本地测试环境
本地测试环境
- 将hadoop解压拷贝到windows系统中,在bin目录下添加winutils.exe
- 配置hadoop环境变量
- 修改hadoop源码,即覆盖hadoop自带的jar包
- 配置linux上的hadoop连接
main函数中加入
Configuration config = new Configuration(); config.set("fs.defaultFS", "hdfs://node1:8020"); config.set("yarn.resourcemanager.hostname", "node1");
服务器环境
一、直接打包jar,上传到linux服务器,运行hadoop jar filename.jar com.package.MainRun
二、eclipse中直接调用,执行过程还是在linux上- 打包为jar文件,直接放在本地
- 同上修改hadoop源码
- 增加一个属性
config.set("mapred.jar", "C:\\Users\\Administrator\\Desktop\\wc.jar");
- 将服务器上的hadoop配置文件复制到本地工程的src下
结果: