Hadoop主机:linux
开发环境主机:Win7 + Itellij
本地运行
1. 下载hadoop安装包,放到本地目录中。
2. 配置环境变量$HADOOP_HOME及$PATH=$HADOOP_HOME/bin
3. 下载winutils.exe放到本地目录的$HADOOP_HOME/bin目录下。
4. 修改hadoop的源码
NativeIO.java org.apache.hadoop.io.nativeio
YARNRunner.java org.apache.hadoop.mapred
5. src目录下不能有hadoop的配置文件
6. 程序中的配置需要添加:
Configuration config = new Configuration();
config.set("fs.defaultFS", "hdfs://node1:8020");//不能使用集群地址,只能指定hdfs地址,本地执行mr任务,但是访问的hdfs还是hadoop主机的。
服务器运行
一、程序打包以后直接放到服务器端执行
将打包后的程序,放到服务器上,然后通过命令执行:hadoop jar *.jar
二、在本地调用,直接运行在服务器上
1、在src目录下放置hadoop配置文件
2、修改hadoop源码
NativeIO.java org.apache.hadoop.io.nativeio
YARNRunner.java org.apache.hadoop.mapred
3、程序中增加配置
configuration.set("mapred.jar","D:\Project\MyDemo\etl\out\artifacts\etl\etl.jar");
程序编译成jar后生成的目录位置。