HDFS的容错和文件的读写-创新互联

大数据交流群QQ:494721467

创新互联总部坐落于成都市区,致力网站建设服务有网站设计制作、做网站、网络营销策划、网页设计、网站维护、公众号搭建、小程序定制开发、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!

HDFS容错:

如何使文件体统能够容忍节点故障,并且不丢失任何的数据也就是HDFS的容错机制

1、心跳机制:

namenode 和datanode是维护心跳的检测。可能网络故障,导致namenode接收不到datanode的心跳包,namenode就不会将任何新的I/O操作派发给那个

Datanode,所以datanode上的数据是无效的。namenode会检测到文件块的副本数目小于设置值,如果小于就自动开始复制新的副本并分发到其他的datanode

节点上。

2、检查文件的块的完整性

HDFS会检索到文件或者某个节点块的大小是否一致,不一致,会从其他的Datanode节点上获取该快的副本

3、集群的负载均衡

节点的丢失或者增加会使数据分布不均,当某个Datanode节点的空闲空间大于一个临界点值时,HDFS会自动从其他节点把数据迁移过来

4、namenode上的FSlmage 和Edit log文件

FSlmage 和Edit log文件是HDFS上的核心数据结构。当他们损坏HDFS将会失效

5、文件的删除

删除一个文件,并不会马上从namenode上移动,设置的时间由hdfs-site.xml问价的配置,fs.trash.interval决定设置时间(时间单位为秒)

-------------------------------------------------------------------------

HDFS读取文件和写入文件

1、hdfs会将文件的切片成块的存储到datanod各个节点中,而文件的数据块的布局是由namenode和hdfs-site.xml中配置dfs.replication一起决定的。

dfs.replication表示该文件在hdfs中的副本数,它默认为3。

2、hdfs客户端想要读取文件,首先要访问namenode,并告诉它要读取的文件,在这之前,hdfs会对客户的身份信息进行验证:一种是通过信任的客户端,

由其指定的用户名,另一种是通过kerberos等强制验证机制来完成。访问文件要检查文件的所有者和访问权限。如果文件存在用户对它有访问权限,

nanmenode会提供文件的信息及块的datanode列表。hdfs客户端就可以访问最合适的datanode,直到文件hdfs动关闭文件流

写入文件:

hdfs客户端通过hdfs相关的api发送请求,打开一个要写入的文件,这个请求将会被namenode接收到,并建立该文件的元数据,但新建的文件元数据和任何

数据块没有关联。客户端收到提示成功打开文件时,就开始往里面写数据,当客户端将数据写入流时。数据会被拆成数据包,并将数据包保存在内存的队

列中。客户端有个独立线程,它从队列中读取数据包,并向namenode请求一组datanode列表,以便写入下个数据块的多个副本。hdfs直接连接到列表,从

而建立了数据块的管道,写入到磁盘中。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:HDFS的容错和文件的读写-创新互联
标题网址:http://ybzwz.com/article/djpspi.html