在configuration中配置了远程连接,可直接在编译工具上运行MapReduce,而不需要将jar打包拷到虚拟机中运行 这种方法更方便
本人使用的是 IDEA
配置和使用如下
1.写一个工具类 HadoopUtil:
public class HadoopUtil {
//构建一个获取configuration静态方法
public static Configuration getRemoteHadoopConf(){
Configuration conf=getBaseRemoteHadoopConf();
conf.set("mapreduce.job.jar", "I:\\bigdata\\target\\bigdata-all.jar");//你项目打包所存放的地址
return conf;
}
//重载
public static Configuration getRemoteHadoopConf(String jarAbsPath){
Configuration conf=new Configuration();
conf.set("mapreduce.job.jar",jarAbsPath);
return conf;
}
private static Configuration getBaseRemoteHadoopConf(){
Configuration conf=new Configuration();
//!!!下面的配置是远程连接起作用的配置
//HDFS远程连接信息
conf.set("fs.defaultFS", "hdfs://mycluster"); // 集群逻辑名称 ,指定hdfs的nameservice为mycluster,与core-site.xml中的配置保持一致
conf.set("dfs.nameservices", "mycluster");