观察分块情况以及文件块的复制和datanode的动态添加

一、将hdfs-site.xml的replication值设为2,通过网页观察分块情况

在阅读这篇博客之前,你应该先阅读: 使用hdfs dfs命令对文件进行增删改查操作.

1.将hdfs-site.xml的replication值设为2

vim hdfs-site.xml

添加如下内容:

<property>
  <name>dfs.replication</name>
  <value>2</value>
</property>

修改完成后,你需要重新启动hadoop. 

二、put文件到HDFS

1.使用hdfs dfs -put file /

解释:file指的是你本地文件路径地址,/指的是hdfs的根路径.

例如我现在位于/usr/local/source路径下面,我想把当前路径下的jdk-7u72-linux-i586.gz上传到hdfs上面.

运行命令:hdfs dfs -put ./jdk-7u72-linux-i586.gz  /

三、使用web页面信息

1.访问http://npfdev1:50070

2. 点击你刚才上传的文件,查看分块信息 

第0块在npfdev4和npfdev3上面:

第1块在npfdev4和npfdev2上面:

3. jdk文件在hdfs中的分块图

现在我们配置的hdfs的replication是2,如果我们stop掉npfdev3机器上的datanode, 那么hdfs应该会把jdk_0再copy一份,满足replication是2.

四、停掉npfdev3机器上面的datanode,观察自动复制情况

1. 在hdfs-site.xml中,设定dfs.namenode.heartbeat.recheck-interval为10000,然后停掉其中一台slave,观察自动复制情况.

<property>
  <name>dfs.namenode.heartbeat.recheck-interval</name>
  <value>10000</value>
</property>

修改完成后,你需要重新启动hadoop. 

2. 在npfdev3上运行hadoop-daemon.sh stop datanode.

2.1 在关闭之前,查看datanodes:

2.2 运行关闭命令:

2.3 在关闭之后,等待一段时间后,查看datanodes:

2.4. 点击jdk文件,查看分块信息 

第0块在npfdev2和npfdev4上面:

第1块在npfdev2和npfdev4上面:

2.5. jdk文件在hdfs中的分块图

五、启动停掉的npfdev3上面的datanode节点,通过网页观察datanode的动态添加.

 1. 在npfdev3上运行启动命令:

2. 在启动之后,查看datanodes:

 

Datanode分块机制是指在Hadoop分布式文件系统中,为了支持大文件的存储处理,将大文件划分为多个块(Block),每个块的大小通常为64MB或128MB,并将这些块分散存储在不同的Datanode上。 具体来说,当客户端上传一个大文件时,Namenode会根据预设的块大小将文件划分为多个块,并为每个块分配一个唯一的Block ID。然后,Namenode会将每个块的Block ID副本信息(如副本数、存储位置等)存储在元数据(Metadata)中。 接下来,客户端会通过数据流的方式将每个块上传到对应的Datanode上,并告知Datanode所上传的块的Block ID副本信息。Datanode会确认该块是否已经存在于本地,如果不存在,则会将该块存储在本地,并根据副本数的设置将该块复制到其他的Datanode上。如果该块已经存在于本地,则Datanode会返回成功的响应。 当客户端需要读取某个块时,它会向Namenode请求该块的副本信息。Namenode会查询元数据,返回该块所有副本的位置信息。客户端会选择距离最近的Datanode读取该块,如果该Datanode发生故障,则会选择距离次近的Datanode读取该块,以此类推,直到成功读取该块为止。 总的来说,Datanode分块机制是Hadoop分布式文件系统的核心机制之一,它通过将大文件划分为多个块,并将这些块分散存储在不同的Datanode上,实现了高效的数据存储处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值