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”。

replication factor的更多相关文章

  1. kafka创建会话,报Error while executing topic command : Replication factor: 1 larger than available brokers: 0.

     bin/kafka-topics.sh --create --zookeeper es1:2181 --replication-factor 1 --partitions 1 --topic top ...

  2. Error while executing topic command : Replication factor: 2 larger than available brokers: 0.

    [root@hdp1 /mnt/software/maxwell-1.19.4]#kafka-topics.sh --zookeeper hdp1,hdp2,hdp3:2181 --create -- ...

  3. 【kafka】kafka.admin.AdminOperationException: replication factor: 1 larger than available brokers: 0

    https://blog.csdn.net/bigtree_3721/article/details/78442912 I am trying to create topics in Kafka by ...

  4. Apache Kafka(十)Partitions与Replication Factor 调整准则

    Partitions与Replication Factor调整准则 Partition 数目与Replication Factor是在创建一个topic时非常重要的两个参数,这两个参数的取值会直接影响 ...

  5. dfs.replication 参数 动态修改

    首先 dfs.replication这个参数是个client参数,即node level参数.需要在每台datanode上设置.其实默认为3个副本已经够用了,设置太多也没什么用. 一个文件,上传到hd ...

  6. Set replication in Hadoop

    I was trying loading file using hadoop API as an experiment. I want to set replication to minimum as ...

  7. Kafka Replication: The case for MirrorMaker 2.0

    Apache Kafka has become an essential component of enterprise data pipelines and is used for tracking ...

  8. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  9. kafka学习笔记:知识点整理

    一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...

随机推荐

  1. em,strong,b,i的区别

    文章来源: http://www.zhihu.com/question/19551271 默认样式: strong=b=粗体 em=i=斜体   HTML4.01: strong,em代表语义,从语义 ...

  2. iOS开发瀑布流的实现

    //自定义布局,继承于UICollectionViewLayout #import <UIKit/UIKit.h> @class WaterFlowLayout; @protocol  W ...

  3. html5权威指南:表格元素

    第十一章:表格元素                                                                                           ...

  4. JS复习:第八章

    一.全局作用域: 所有在全局作用域中声明的变量.函数都会变成window对象的属性和方法.全局变量不能通过delete操作符删除,而window对象上定义的属性可以. 二.窗口大小 使用resizeT ...

  5. 处理html页面元素工具类(HtmlAgilityPack.dll)的使用

    下载地址:http://htmlagilitypack.codeplex.com/ 1.添加HtmlAgilityPack.dll引用(引用类using HtmlAgilityPack;). 2.简单 ...

  6. GlusterFS缺点分析[转]

    原文:http://blog.sina.com.cn/s/blog_6b89db7a0101gbcy.html GlusterFS(GNU ClusterFile System)是一个开源的分布式文件 ...

  7. JAVASCRIPT 框架>>

    jQuery jQueryjQuery 是目前最受欢迎的 JavaScript 框架 jQuery 是为处理 HTML 事件而特别设计的<script type="text/javas ...

  8. IntelliJ IDEA 13.1.4新建java web项目

    打开软件

  9. NOIP2011-普及组复赛模拟试题-第一题-NBA总冠军

    题目背景 Background 一年两度的期末考要到来了!!  题目描述 Description   又要到考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍.由 ...

  10. tomcat容器启动的启动过程(三)

    Catalina的start方法 /** * Start a new server instance. */ public void start() { if (server == null) { l ...