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. Android Monkey 测试策略【转】

    Monkey 测试针对不同的对象和不同的目的,需要采用不同的测试方案. 首先测试的对象.目的及类型如下: 测试的类型 应用程序的稳定性测试 应用程序的压力测试 测试对象 单一 apk apk 集合 测 ...

  2. tomcat bio nio apr 模式性能测试

    转自:tomcat bio nio apr 模式性能测试与个人看法 11.11活动当天,服务器负载过大,导致部分页面出现了不可访问的状态.那后来主管就要求调优了,下面是tomcat bio.nio.a ...

  3. CSS3秘笈复习:第八章

    一.背景的所有属性: 属性 作用 可选项 1.background-image 定义一张图片 url(...) 2.background-repeat 控制重复 no-repeat | repeat- ...

  4. 四大类NoSQL数据库

    http://blog.sina.com.cn/s/blog_636415010101945l.html 原文:http://blog.monitis.com/index.php/2011/05/22 ...

  5. Unity5系列资源管理AssetBundle——打包

    资源管理是游戏开发的重要环节,Unity中使用AssetBundle可以非常方便地帮我们打包和更新游戏内容,在5系列中,AssetBundle更是方便好用,现在让我们先进行打包吧. 刚说了,5系列打包 ...

  6. IOS中实例的权限控制

    @public.@protected.@private的使用 在OC中声明一个类的时候,可以使用上面 @public.@protected.@private三个关键字声明实例的权限,例如下面的代码: ...

  7. openwrt 中procd

    https://wiki.openwrt.org/doc/techref/procd Procd:Openwrt的进程管理守护进程(process management daemon),它与初始化脚本 ...

  8. shell脚本学习(四)

    1.文件权限 1.1 用户有一个称为setuid(S)的特殊权限,它出现在执行权限(x)的位置,setuid权限允许用户以拥有者的权限来执行可执行文件,即使这个可执行文件是由 其他用户运行的. 具有s ...

  9. Wsyscheck(系统检测维护工具) v1.68.33绿色版

    软件名称:系统检测维护工具(Wsyscheck) v1.68.33绿色版软件类别:国产软件运行环境:windows软件语言:简体中文授权方式:免费版软件大小:1022 KB软件等级:整理时间:2011 ...

  10. mysql高级查询

    高级查询: 1.连接查询 select * from Info,Nation #得出的结果称为笛卡尔积select * from Info,Nation where Info.Nation = Nat ...