hadoop配置文件的加载机制
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()的区别
hadoop配置文件的加载机制的更多相关文章
- hadoop配置文件的加载机制 分类: A1_HADOOP 2015-01-21 11:29 839人阅读 评论(0) 收藏
hadoop通过Configuration类来保存配置信息 1.通过Configuration.addResource()来加载配置文件 2.通过Configuration.get***()来获取配置 ...
- Spring Boot 2.4 配置文件将加载机制大变化
Spring Boot 2.4.0.M2 刚刚发布,它对 application.properties 和 application.yml 文件的加载方式进行重构.如果应用程序仅使用单个 applic ...
- Spring Boot 2.4.0正式发布,全新的配置文件加载机制(不向下兼容)
千里之行,始于足下.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://www.you ...
- Java实现配置加载机制
前言 现如今几乎大多数Java应用,例如我们耳熟能详的tomcat, struts2, netty…等等数都数不过来的软件,要满足通用性,都会提供配置文件供使用者定制功能. 甚至有一些例如Netty这 ...
- Crystal框架配置参数加载机制详解?
前言 定义 配置参数定义的形式 配置参数文件定义在哪里? 配置参数加载的优先级 如何使用配置参数? 最佳实践 Jar项目中如何定义配置参数? War项目中如何定义或重载Jar包中的配置参数? 开发人员 ...
- Android 的 so 文件加载机制
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 最近碰到一些 so 文件问题,顺便将相关知识点梳理一下. 提问 本文的结论是跟着 System.loadlibrary() 一层层源 ...
- MyBatis --- 映射关系【一对一、一对多、多对多】,懒加载机制
映射(多.一)对一的关联关系 1)若只想得到关联对象的id属性,不用关联数据表 2)若希望得到关联对象的其他属性,要关联其数据表 举例: 员工与部门的映射关系为:多对一 1.创建表 员工表 确定其外键 ...
- Spring中ApplicationContext加载机制和配置初始化
Spring中ApplicationContext加载机制. 加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet. ...
- 插件化框架解读之so 文件加载机制(四)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 提问 本文的结论是跟着 System.loadlibrary() ...
随机推荐
- Animation 案例解释
Animation 案例解释: ------------摘自W3c 过度动画类型: linear:线性过渡.等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0) ease:平滑过渡.等同于贝塞尔曲 ...
- Jmeter实现WebSocket协议的接口和性能测试方法
WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex). 浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一 ...
- EasyUI datagrid简单运用
jquery的前端框架挺多的,有easyUI ,bootstrap...,对于做系统软件或许easyUI比较好,因为里面控件很丰富,而bootstrap非常简洁大方,但是控件相 对比较少,特别是复杂的 ...
- Qt也有垃圾回收(通过QScopedPointer实现),下决心在项目里使用QScopedPointer,省了太多事情了,而且更安全!!
也谈Qt的垃圾回收 前几天在做代码审核的时候,Kai Uwe Broulik建议使用QScopedPointer来替代手工内存管理,使用后发觉确实节约了不少代码量,我的CHERRY可以延长寿命了!但是 ...
- Android应用程序插件化研究之AssertManager
最近在研究Android应用的插件化开发,看了好几个相关的开源项目.插件化都是在解决以下几个问题: 如何把插件apk中的代码和资源加载到当前虚拟机. 如何把插件apk中的四大组件注册到进程中. 如何防 ...
- Thread的run()与start()的区别
Java的线程是通过java.lang.Thread类来实现的.VM启动时会有一个由主方法所定义的线程.可以通过创建Thread的实例来创建新的线程.每个线程都是通过某个特定Thread对象所对应的方 ...
- sql server 2000 下载地址
sql server 2000 下载地址 http://pan.baidu.com/share/link?shareid=146152&uk=1225012539
- 关于Java集合的总结
(一)List: ArrayList 以数组实现.节约空间,但数组有容量限制.超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值.默认第一 ...
- JAVA车票管理系统(简单GUI)
一. 需求分析 1.设计题目:车票管理系统 用JAVA语言和数据结构知识设计设计车票管理系统.要求如下所述: 一车站每天有n个发车班次,每个班次都有一个班次号(1.2.3…n),固定的发车时间, ...
- python3-day4(re正则表达式,冒泡)
一.正则表达式常用 1.re.match:只尝试从字符串的查找,后面不作查找. 例子: import re text="aabcdefg123123" m=re.match('a' ...