hdfs默认replica 是3,我在hbase创建了一个表,插入1条数据,通过locate_region看到他存放于node3,我想测试数据冗余,就将node3关闭,发现不能访问这个表了。我的疑问是,1.数据不是通过hdfs冗余了么,为什么掉了个节点后数据不能访问了?2.必须要设置机架感知才能让replica生效?
locate_region 在node3 ,和这个region的 hdfs 数据在node3 不是一个概念。hdfs 设置了3副本的话,首先dn 存活个数 肯定要大于3个,才可以复制3个副本,就算dn 都在同一个 default_rack。 只要dn 个数大于3,那么replication为3份 就是有效的。只是关闭一个dn 会影响数据本地化 短路读取等 特性而已。你没说清楚你关闭的node3 上的哪个角色
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。