博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop配置文件的加载机制
阅读量:5082 次
发布时间:2019-06-13

本文共 2374 字,大约阅读时间需要 7 分钟。

hadoop通过Configuration类来保存配置信息
1、通过Configuration.addResource()来加载配置文件
2、通过Configuration.get***()来获取配置属性
1、创建一个新的Configuration实例时,会加载core-default.xml与core-site.xml,若还有其它配置,则调用addResource()继续添加。
package org.jediael.hadoopdemo;
import org.apache.hadoop.conf.Configuration;
public class ConfigurationDemo {
    public static void main(String[] args){
        Configuration conf = new Configuration();
        //conf.addResource("/opt/jediael/hadoop-1.2.1/conf/core-site.xml");
        Configuration.addDefaultResource("mapred-default.xml");
        
        //System.out.println(conf.get("fs.default.name"));
        System.out.println(conf.get("hadoop.tmp.dir"));
        System.out.println(conf.get("io.sort.mb"));
    }
}
输出结果为:
www:Downloads liaoliuqing$ hadoop jar hdemo.jar org.jediael.hadoopdemo.ConfigurationDemo
hdfs://localhost:9000
/opt/tmp
null
2、可以通过Configuration.addDefaultResource()加载CLASSPATH下的内容,主要用于加载hdfs-default.xml  hdfs-site.xml  mapred-default.xm  mapred-site.xml
package org.jediael.hadoopdemo;
import org.apache.hadoop.conf.Configuration;
public class ConfigurationDemo {
    public static void main(String[] args){
        Configuration conf = new Configuration();
        //conf.addResource("/opt/jediael/hadoop-1.2.1/conf/core-site.xml");
        Configuration.addDefaultResource("mapred-default.xml");
        
        System.out.println(conf.get("fs.default.name"));
        System.out.println(conf.get("hadoop.tmp.dir"));
        System.out.println(conf.get("io.sort.mb"));
    }
}
输出结果为:
www:Downloads liaoliuqing$ hadoop jar hdemo.jar org.jediael.hadoopdemo.ConfigurationDemo
hdfs://localhost:9000
/opt/tmp
100
若color.xml位于$HADOOP_HOME/conf
package org.jediael.hadoopdemo;
import org.apache.hadoop.conf.Configuration;
public class ConfigurationDemo {
    public static void main(String[] args){
        Configuration conf = new Configuration();
        //conf.addResource("/opt/jediael/hadoop-1.2.1/conf/color.xml");
        Configuration.addDefaultResource("color.xml");
        Configuration.addDefaultResource("mapred-default.xml");
        
        System.out.println(conf.get("fs.default.name"));
        System.out.println(conf.get("hadoop.tmp.dir"));
        System.out.println(conf.get("io.sort.mb"));
        
        System.out.println(conf.get("color"));        
    }
}
输出结果为:
www:Downloads liaoliuqing$ hadoop jar hdemo.jar org.jediael.hadoopdemo.ConfigurationDemo
hdfs://localhost:9000
/opt/tmp
100
yellow
若color.xml不位于$HADOOP_HOME/conf,则color的输出值为null。
3、conf.addResource()与Configuration.addDefaultResource()的区别

转载于:https://www.cnblogs.com/jediael/p/4304052.html

你可能感兴趣的文章
C#中集合ArrayList与Hashtable的使用
查看>>
从一个标准 url 里取出文件的扩展名
查看>>
map基本用法
查看>>
poj-1163 动态规划
查看>>
Golang之interface(多态,类型断言)
查看>>
Redis快速入门
查看>>
BootStrap---2.表格和按钮
查看>>
Linear Algebra lecture 2 note
查看>>
CRC计算模型
查看>>
Ajax之404,200等查询
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
OO设计的接口分隔原则
查看>>
数据库连接字符串大全 (转载)
查看>>
java类加载和对象初始化
查看>>
对于负载均衡的理解
查看>>
django简介
查看>>
window.event在IE和Firefox的异同
查看>>
常见的js算法面试题收集,es6实现
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>