http://www.tuicool.com/articles/RJbIBj

关于Hadoop中replication factor解惑

时间 2014-06-09 08:00:50   ITeye-博客

原文  http://shift-alt-ctrl.iteye.com/blog/2077548

主题 Hadoop  HBase

我们在向hadoop写入文件时,这个文件的“replication”个数到底该如何控制?

在hadoop server端,core-site.xml中有个参数为“file.replication”,同时在hdfs-site.xml中也有个“dfs.replication”,这两个参数到底谁可以决定文件的“replication”个数?

在hadoop开发时,我们还可以在Client端配置core-site.xml和hdfs.xml,那么上述两个参数是否会生效呢?

在hbase中,该如何决定replication个数?

我最近在部署和开发时就被这么几个参数给迷惑了,hdfs-site.xml(或者hdfs-default.xml)中“dfs.replication”默认为3,core-site.xml(或者core-default.xml)中“file.replication”默认为1;对于hadoop server而言,hdfs进程将会首先加载“hdfs-default.xml”然后加载“hdfs-site.xml”,如果在hdfs-size.xml中指定了“dfs.replication”,那么此值将作为server端默认值;在此处需要提醒,“file.replication”参数值将不会发挥效果,从源码中可以看出hadoop并没有使用core-site.xml(core-default.xml)中“file.replication”参数值,因此尝试修改此值来改变hdfs的replication个数是徒劳的。

对于hadoop Client开发而言,如果开发者没有引入自己的hdfs-site.xml文件,那么在创建文件时所使用的Configuration对象只是加载了默认配置(hdfs-default.xml,core-default.xml),因此“dfs.replication”仍然为3,基于“Client端配置优先”的策略,那么hadoop server端hdfs-site.xml中的“dfs.replication”值将会被覆盖。因此,如果开发者希望调整replication factor,唯一的方式,就是在Client端引入自己的hdfs-site.xml且调整此值,或者在FileSystem.create方法中手动指定replication个数。

hbase从架构模式上,它在存储层面只是一个hadoop Client端;如果你希望调整hbase中数据的replication个数,我们还需要在hbase server端引入hdfs-site.xml文件,然后把这个文件放入${hbase}/conf目录下,否则hbase数据的replication将始终为3。

此外需要提醒,在hbase开发时,在hbase Client端尝试引入“core-site.xml”和“hdfs-site.xml”来修改hdfs相关属性的方式是徒劳的,hbase Client只有引入的“hbase-site.xml”文件是有效的;如果希望在hbase中修改部分hadoop的属性,只能在hbase server端的“hbase-site.xml”中修改,或者额外的引入“core-site.xml”和“hdfs-site.xml”。

最新文章

  1. jvm中的年轻代 老年代 持久代 gc
  2. Android消息推送完美方案
  3. [转贴]JAVA 百度地图SDK地图学习——实现定位功能
  4. js 配置基础启动文件
  5. Asp.net中的页面跳转及post数据
  6. JavaScript基础——变量、语句、注释
  7. Java笔记(day1~day6)
  8. python基础(六)
  9. 阿里 Goldeneye 四个环节落地智能监控:预测、检测、报警及定位
  10. springboot+cloud 学习(四)Zuul整合Swagger2
  11. Flutter 依赖的那些事儿
  12. CentOS6.4下邮件服务器搭建
  13. Kafka学习笔记之Kafka三款监控工具
  14. HDMI之(AVI)Auxiliary Video Information InfoFrame
  15. 快速排序之Java实现
  16. python 网页抓取并保存图片
  17. 【BZOJ1079】【SCOI2008】着色方案
  18. 实验五 ASP.NET状态管理和应用程序配置 总结
  19. Azkaban 使用问题及解决
  20. hihocoder 1522 : F1 Score

热门文章

  1. Nginx1.8.0版本平滑升级新版本1.9.7
  2. [妙味JS基础]第八课:return、定时器基础
  3. php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间
  4. 把json数据 [ { } ] 转为数组
  5. SQLServer乱码问题的分析及解决方法(中文字符被存入数据库后,显示为乱码)
  6. Bootstrap介绍
  7. LeetCode OJ 1. Two Sum
  8. LeetCode OJ 31. Next Permutation
  9. 洛谷-A+B Problem-洛谷的第一个任务
  10. mysql备份并自动压缩命令