HDFS 异构存储调研

栏目: 服务器 · 发布时间: 6年前

内容简介:按访问速度降序:共有 6 种策略按访问速度从快到慢排列

结论

  • HDFS 支持配置多个数据目录,同一节点默认按照 Round Robin 策略写入。硬盘不做 RAID,每块盘单独挂载。
  • HDFS 支持异构存储,即不同的存储类型和存储策略,可用于实现冷热分级,从而降低成本

存储类型

按访问速度降序:

  • RAM_DISK: 即内存
  • SSD: SSD,OLTP 类场景(如 HBase)可以考虑使用
  • DISK: 普通硬盘
  • ARCHIVE: 归档存储,可使用廉价、高容量存储(甚至单机超百 T)

存储策略

共有 6 种策略

  • Hot : 即通常意义的热数据,需要经常使用。所有副本都存在 DISK. 这是默认的策略。
  • Cold : 即通常意义的冷数据,很少使用,主要是归档备份。所有副本都存在 ARCHIVE.
  • Warm : 介于冷热之间。一个副本放 DISK,其余的放 ARCHIVE.
  • All_SSD : 所有副本都在 SSD.
  • One_SSD : 一个副本在 SSD,其余的放 DISK.
  • Lazy_Persist : 适用于单副本数据,放在内存。先写到 RAM_DISK, 再持久化到 DISK.

按访问速度从快到慢排列

策略 块分布 creationFallbacks replicationFallbacks
Lazy_Persist RAM_DISK: 1, DISK: n-1 DISK DISK
All_SSD SSD: n DISK DISK
One_SSD SSD: 1, DISK: n-1 SSD, DISK SSD, DISK
Hot DISK: n < none > ARCHIVE
Warm DISK: 1, ARCHIVE: n-1 ARCHIVE, DISK ARCHIVE, DISK
Cold ARCHIVE: n < none > < none >

注:creationFallbacks 是对于第一个创建的 block 的 fallback 情况时的可选存储类型;replicationFallbacks 是 block 的其余副本的 fallback 情况时的可选存储类型

配置

每个磁盘单独挂载到不同目录,需要注意加上 noatime 选项。 首先配置 DataNode 的数据目录

  • dfs.storage.policy.enabled : 设置为 true ,默认是 true .
  • dfs.datanode.data.dir : 可配置多个路径,用 , 分隔,每个路径加上存储类型标签作为前缀,如
[SSD]file:///dfs/dn1,[DISK]file:///dfs/dn2,[ARCHIVE]file:///dfs/dn3

注: 通过 Cloudera Manager 配置不需要写 file:// ,直接使用 [DISK]/dfs/dn2 即可

使用 hdfs storagepolicies 命令管理文件/目录的存储策略,共三个子命令。

命令 作用
hdfs storagepolicies -listPolicies 列出所有的块存储策略
hdfs storagepolicies -setStoragePolicy -path <path> -policy <policy> 对指定路径设置存储策略,子目录会继承
hdfs storagepolicies -getStoragePolicy -path <path> 获取指定路径的存储策略

Mover

Mover 是 HDFS 的一个数据迁移工具,类似 Balancer. 区别在于,Mover 的目的是把数据块按照存储策略迁移,Balancer 是在不同 DataNode 直接进行平衡。如果 DataNode 挂载了多种存储类型,Mover 优先尝试在本地迁移,避免网络 IO.

使用方式: hdfs mover -p <path> ,如果想一次性迁移所有数据,可把 path 指定为根路径,不过需要的时间也更长。

参考


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法经典问题解析

数据结构与算法经典问题解析

纳拉辛哈·卡鲁曼希 / 骆嘉伟 / 机械工业出版社 / 2016-6-1 / CNY 79.00

本书是一本数据结构方面的优秀教材,以Java为描述语言,介绍了计算机编程中使用的数据结构和算法。本书强调问题及其分析,而非理论阐述,共分为21章,讲述了基本概念、递归和回溯、链表、栈、队列、树、优先队列和堆、并查集DAT、图算法、排序、查找、选择算法(中位数)、符号表、散列、字符串算法、算法设计技术、贪婪算法、分治算法、动态规划算法、复杂度类型等内容。每章首先阐述必要的理论基础,然后给出问题集。全......一起来看看 《数据结构与算法经典问题解析》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试