开发者社区> 问答> 正文

hbase数据冗余的问题

hdfs默认replica 是3,我在hbase创建了一个表,插入1条数据,通过locate_region看到他存放于node3,我想测试数据冗余,就将node3关闭,发现不能访问这个表了。我的疑问是,1.数据不是通过hdfs冗余了么,为什么掉了个节点后数据不能访问了?2.必须要设置机架感知才能让replica生效?

展开
收起
hbase小能手 2018-11-06 17:12:02 2166 0
1 条回答
写回答
取消 提交回答
  • 社区管理员

    locate_region 在node3 ,和这个region的 hdfs 数据在node3 不是一个概念。hdfs 设置了3副本的话,首先dn 存活个数 肯定要大于3个,才可以复制3个副本,就算dn 都在同一个 default_rack。 只要dn 个数大于3,那么replication为3份 就是有效的。只是关闭一个dn 会影响数据本地化 短路读取等 特性而已。你没说清楚你关闭的node3 上的哪个角色

    2019-07-17 23:12:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
HBase应用与发展之HBase RowKey与索引设计 立即下载
HBase中Coprocessor的介绍以及实际业务场景中的使用 立即下载
HBase 冷热分离 立即下载