您现在的位置是:主页 > news > 网推项目/长沙有实力seo优化公司
网推项目/长沙有实力seo优化公司
admin2025/4/30 8:09:08【news】
简介网推项目,长沙有实力seo优化公司,长沙做网站企业,营销思路和创新点一、文件存储 对于文件的存储:第一种:纵向扩展 加存储空间,有局限性,成本不是线性增长 第二种:横向扩展,加机器 一)HDFS体系结构 Namenode:名字节点,用来管理文件的元…
网推项目,长沙有实力seo优化公司,长沙做网站企业,营销思路和创新点一、文件存储
对于文件的存储:第一种:纵向扩展 加存储空间,有局限性,成本不是线性增长
第二种:横向扩展,加机器
一)HDFS体系结构 Namenode:名字节点,用来管理文件的元…
一、文件存储
对于文件的存储:第一种:纵向扩展 加存储空间,有局限性,成本不是线性增长
第二种:横向扩展,加机器
一)HDFS体系结构
- Namenode:名字节点,用来管理文件的元数据信息(各个文件块所在的位置),如果元数据信息丢失,HDFS集群瘫痪。
- Datanode:用来存储文件按数据的,会定期向Namenode发送心跳包。
- BlockSize:文件块,hdfs的文件块Hadoop1大小是64MB,Hadoop2是128MB。在完全分布式下,一个文件块有两个副本。BlockSize=128MB。
- Rack机架:一个block在同一个机架有一个副本,在另一个机架有一个副本。
- Clice客户端:在操作hdfs的时候都需要通过namenode。
- secondaryNamenode机制: 1)hadoop只有两个文件,一个是edits文件,edits用来记录文件的操作,一个是fsimage文件,fsimage用来存储元数据信息。 2)第一次安装完成Hadoop我们会执行format操作。此指令的作用是生成edits文件和fsimage文件。但它会清空以前旧的元数据信息(不能随意format)。在伪分布式下,,如果有进程死掉。 关闭进程-->删除日志文件和删除tmp文件(在hadoop文件底下的tmp文件夹下)-->格式化--->启动。 3)namenode在启动的时候会将两个文件做一次合并,以后合并两个文件都是由secondarynamenode管理,以后每次文件合并都由secondarynamenode来做,合并完成之后将元数据信息发送给namenode。造成单点故障的原因?
4)namenode在启动的时候,会收集各个datanode发来的数据包。主要是检查文件的完整性,看每个文件块是否有缺失。在检查阶段,hdfs会自动地进入安全模式,只提供读服务。 - PS:这样设计两个文件的原因是磁盘的I/O量小,edits文件里的记录数达到一定的阈值之后就会和fsimage文件做一次合并。
二)读操作
- open file指定读取的文件路径。获取输入流。
- 去namenode上要文件块的信息,元数据信息。
- 客户端拿到元数据信息后,去指定的datanode上读。如果文件特别大,数据块不在一个datanode上,那么namenode并不是一次性把所有的信息返回客户端,而是客户端读完一个datanode后再去下一个datanode,如此循环,直到读完所有数据块。
- 读完数据块之后关流。
三)写操作
- creatfile获取文件输出流,并指定文件上传的路径。Namenode受到create file请求之后首先检测当前的客户端有没有权限,然后检查路径的合法性,两个条件都满足,会把输出流交给客户端。
- 客户端拿到输出流后,会对文件进行切块,namenode会分配存储位置。哪一个文件块到哪个datanode上。130MB.分为两个文件块,那第一个文件块,有两个副本,会将这三个文件块发送到三台datanode上在传输的过程中,会形成一个数据流管道,pipeline PS: 数据流管道工作原理:一个文件块会被发送到第一个datanode-》发个第二个datanode-》第三个datanode,每个datanode收到文件块之后会返回一个ack。每个文件块的三个副本全部确认之后,再发下一个文件块。 pipeline设计意义:充分的使用带宽,最小的降低数据的延迟。数据流管道有用到一个全双工通信模式,同时进行收发,会将文件块打散成128kb数据包(packet),边收边发。
- 关闭流。
四)Namenode具备哪些职责
- 要知道管理哪些datanode
- 需要一套机制,来检测datanode节点状态的变化,心跳机制,datanode会定时的向namenode发送心眺包,超过一定时间没有发送,就认为datanode挂掉。
- namenode需要知道管理和存储了哪些大文件以及切块存储的信息。具体就是每一个文件存储在datanode上的位置的信息
- 备份机制 目的是为了容灾,读写快。策略:一个文件备份三份,同一个机架(具有多台机器)做两个备份,在另外一台机架做一个备份。namenode只需要知道这些文件的存储位置就可以了。
二、HDFS设计目的
为了解决海量的数据存储和管理问题,横向扩张,HDFS构建在廉价的商用服务器上,因为瘫痪的概率大,所以hdfs能够确保集群的稳定性和高可用性。
三、HDFS的特点及缺点
一)HDFS的特点
- 支持超大文件:一般来说,HDFS存储的文件都是TB以及PB级别的数据
- 检测和快速应对邮件故障:在集群中一般有上千台机器,故障率很高。快速检测因为有rpc心跳机制。应对硬件故障,这个是因为一台机器上的文件有多个备份。
- 流式访问:访问的速度一定受网络和磁盘的读写速度限制,HDFS不适合低延迟的数据访问,HDFS的吞吐量高。
- 高容错性
- 商用硬件廉价
二)HDFS的缺点
- 不能做到低延迟的数据访问。对于低延迟的需求,请选择使用HBASE
- 不适合大量的小文件存储。
- 不适合多用户的写入和修改。