建设一个商城式网站可以吗,响应式网站上海有多少家,网站开发方向 英语翻译,wordpress删除自定义分类文章首发地址
HDFS的数据存储
HDFS的数据存储包括两块#xff1a; 一块是HDFS内存存储另一块是HDFS异构存储 HDFS内存存储是一种十分特殊的存储方式#xff0c;将会对集群数据的读写带来不小的性能提升#xff0c;而HDFS异构存储则能帮助我们更加合理地把数据存到应该存的…文章首发地址
HDFS的数据存储
HDFS的数据存储包括两块 一块是HDFS内存存储另一块是HDFS异构存储 HDFS内存存储是一种十分特殊的存储方式将会对集群数据的读写带来不小的性能提升而HDFS异构存储则能帮助我们更加合理地把数据存到应该存的地方。 HDFS内存存储
异步存储的大体步骤可以归纳如下
对目标文件目录设置StoragePolicy为LAZY_PERSIST的内存存储策略。客户端进程向NameNode发起创建/写文件的请求。客户端请求到具体的DataNode后DataNode会把这些数据块写入RAM内存中同时启动异步线程服务将内存数据持久化写到磁盘上。 内存的异步持久化存储是内存存储与其他介质存储不同的地方。这也是LAZY_PERSIST名称的源由数据不是马上落盘而是懒惰的、延时地进行处理。 LAZY_PERSIST内存存储
LAZY_PERSIST相关结构如下 FsDatasetImplFsDatasetImpl它是一个管理DataNode所有磁盘读写的管家 RamDiskReplicaLruTracker是副本块跟踪类此类中维护了所有已持久化、未持久化的副本以及总副本数据信息。所以当一个副本被最终存储到内存中后相应地会有副本所属队列信息的变更。当节点内存不足时会将最近最少被访问的副本块移除。RamDiskAsyncLazyPersistService此对象是异步持久化线程服务针对每一个磁盘块设置一个对应的线程池需要持久化到给定磁盘的数据块会被提交到对应的线程池中去。每个线程池的最大线程数为1。LazyWriter这是一个线程服务此线程会不断地从数据块列表中取出数据块将数据块加入到异步持久化线程池RamDiskAsyncLazyPersistService中去执行。
HDFS异构存储 针对冷数据采用容量大的、读写性能不高的存储介质存储比如最普通的磁盘。而对于热数据而言可以采用SSD的方式进行存储这样就能保证高效的读性能在速率上甚至能做到十倍或百倍于普通磁盘的读写速度。换句话说HDFS异构存储特性的出现使得我们不需要搭建2套独立的集群来存放冷热2类数据在一套集群内就能完成。所以这个功能还是有非常大的实用价值的。 HDFS异构存储可总结为以下三点
DataNode通过心跳汇报自身数据存储目录的StorageType给NameNode。随后NameNode进行汇总并更新集群内各个节点的存储类型情况。待复制文件根据自身设定的存储策略信息向NameNode请求拥有此类型存储介质的DataNode作为候选节点。