【图文跟进 】HADOOP 核心设计——机架存放策略(副本存放策略)

机架策略——副本存放策略(带着问题学习,才高效)

问题1:在hdfs中对于一个block默认的存储副本个数3个,这3个副本如何存放的?

解析:三个副本存储在3个不同的节点上,事实上在实际生产的时候,节点在机架上的,在存放副本的时候考虑机架的问题

 

作用

数据分块存储和副本的存放,是保证可靠性和高性能的关键 

 

方法

将每个文件的数据进行分块存储,每一个数据块又保存有多个副本,这些数据块副本分 布在不同的机器节点上 

 

存放说明

来看一哈,啥是机架呢?见图

【图文跟进 】HADOOP 核心设计——机架存放策略(副本存放策略)

画个图片爽一下:

 机房的网络这样式的,两个机架通过交换机(路由器)连接,画个星星代表交换机吧,能理解吗?不能就滚吧。

这个灰常耗!!!!电!电!!电!!!电!!!

【图文跟进 】HADOOP 核心设计——机架存放策略(副本存放策略)

副本存放策略

  1. 第一个副本通常放在客户端所在节点(客户端是集群中的一个节点),如果客户端不是集群中的一个节点,则第一个副本上传到任意一个节点
  2. 第二个副本放在和第一个副本不同机架的任意节点上
  3. 第三个副本放在和第二个副本相同机架的不同节点上  便于写数据

 

修改副本数

第一种方式:修改集群文件 hdfs-site.xml <property>   <name>dfs.replication</name>   <value>1</value> </property> 
第二种方式:命令设置 bin/hadoop fs -setrep -R 1 /