Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[hadoop3.x]HDFS存储策略和冷热温三阶段数据存储(六)概述

[hadoop3.x]HDFS存储策略和冷热温三阶段数据存储(六)概述

作者头像
Maynor
发布于 2021-10-09 03:01:30
发布于 2021-10-09 03:01:30
84901
代码可运行
举报
运行总次数:1
代码可运行

文章目录

前言

目前博客Hadoop文章大都停留在Hadoop2.x阶段,本系列将依据黑马程序员大数据Hadoop3.x全套教程,对2.x没有的新特性进行补充更新,一键三连加关注,下次不迷路!

历史文章

[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS

[hadoop3.x系列]HDFS REST HTTP API的使用(二)HttpFS

[hadoop3.x系列]Hadoop常用文件存储格式及BigData File Viewer工具的使用(三)

✨[hadoop3.x]新一代的存储格式Apache Arrow(四)

[hadoop3.x]HDFS存储类型和存储策略(五)概述

[hadoop3.x]HDFS存储策略和冷热温三阶段数据存储(六)概述

🍑 1.1 💃存储策略命令💃

1 💃列出存储策略💃

列出所有存储策略。

命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@node1 Examples]# 💃hdfs storagepolicies -listPolicies💃
Block Storage Policies:    BlockStoragePolicy{PROVIDED:1, storageTypes=[PROVIDED, DISK], creationFallbacks=[PROVIDED, DISK], replicationFallbacks=[PROVIDED, DISK]}    BlockStoragePolicy{COLD:2, storageTypes=[ARCHIVE], creationFallbacks=[], replicationFallbacks=[]}    BlockStoragePolicy{WARM:5, storageTypes=[DISK, ARCHIVE], creationFallbacks=[DISK, ARCHIVE], replicationFallbacks=[DISK, ARCHIVE]}    BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}    BlockStoragePolicy{ONE_SSD:10, storageTypes=[SSD, DISK], creationFallbacks=[SSD, DISK], replicationFallbacks=[SSD, DISK]}    BlockStoragePolicy{ALL_SSD:12, storageTypes=[SSD], creationFallbacks=[DISK], replicationFallbacks=[DISK]}    BlockStoragePolicy{LAZY_PERSIST:15, storageTypes=[RAM_DISK, DISK], creationFallbacks=[DISK], replicationFallbacks=[DISK]}

hdfs storagepolicies -listPolicies
2 💃设置存储策略💃

给一个文件或目录设置存储策略

hdfs storagepolicies -setStoragePolicy -path -policy

参数:

-path

引用目录或文件的路径

-policy

存储策略的名称

3 💃取消存储策略💃

取消文件或目录的存储策略。在执行unset命令之后,将应用当前目录最近的祖先存储策略,如果没有任何祖先的策略,则将应用默认的存储策略。

hdfs storagepolicies -unsetStoragePolicy -path

参数:

-path

引用目录或文件的路径

4 💃获取存储策略💃

获取文件或目录的存储策略。

hdfs storagepolicies -getStoragePolicy -path

-path

引用目录或文件的路径。

🍑2.1 💃冷热温三阶段数据存储💃

为了更加充分的利用存储资源,我们可以将数据分为冷、热、温三个阶段来存储。

/data/hdfs-test/data_phase/hot

热阶段数据

/data/hdfs-test/data_phase/warm

温阶段数据

/data/hdfs-test/data_phase/cold

冷阶段数据

1 💃配置DataNode存储目录💃

为了能够支撑不同类型的数据,我们需要在hdfs-site.xml中配置不同存储类型数据的位置。

进入到Hadoop配置目录,编辑hdfs-site.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/server/hadoop-3.1.4/etc/hadoop
vim hdfs-site.xml
<property>
  <name>dfs.datanode.data.dir</name>
  <value>[DISK]file:///export/server/hadoop-3.1.4/data/datanode,[ARCHIVE]file:///export/server/hadoop-3.1.4/data/archive</value>
  <description>DataNode存储名称空间和事务日志的本地文件系统上的路径</description>
</property>

分发到不同另外两个节点中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp hdfs-site.xml node2.itcast.cn:$PWD

scp hdfs-site.xml node3.itcast.cn:$PWD

重启HDFS集群

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stop-dfs.sh
start-dfs.sh

配置好后,我们在WebUI的Datanodes页面中点击任意一个DataNode节点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1HGUDOAb-1633607380830)(https://gitee.com/the_efforts_paid_offf/picture-blog/raw/master/img/20211006210405.jpg)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VHsmIDyH-1633607380831)(https://gitee.com/the_efforts_paid_offf/picture-blog/raw/master/img/20211006210409.jpg)

可以看到,现在配置的是两个目录,一个StorageType为ARCHIVE、一个Storage为DISK。

2 💃配置策略💃

创建测试目录结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs dfs -mkdir -p /data/hdfs-test/data_phase/hot
hdfs dfs -mkdir -p /data/hdfs-test/data_phase/warm
hdfs dfs -mkdir -p /data/hdfs-test/data_phase/cold
  1. 查看当前HDFS支持的存储策略
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@node1 Examples]# hdfs storagepolicies -listPolicies
Block Storage Policies:
BlockStoragePolicy{PROVIDED:1, storageTypes=[PROVIDED, DISK], creationFallbacks=[PROVIDED, DISK], replicationFallbacks=[PROVIDED, DISK]}
BlockStoragePolicy{COLD:2, storageTypes=[ARCHIVE], creationFallbacks=[], replicationFallbacks=[]}
BlockStoragePolicy{WARM:5, storageTypes=[DISK, ARCHIVE], creationFallbacks=[DISK, ARCHIVE], replicationFallbacks=[DISK, ARCHIVE]}
BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}
BlockStoragePolicy{ONE_SSD:10, storageTypes=[SSD, DISK], creationFallbacks=[SSD, DISK], replicationFallbacks=[SSD, DISK]}
BlockStoragePolicy{ALL_SSD:12, storageTypes=[SSD], creationFallbacks=[DISK], replicationFallbacks=[DISK]}
BlockStoragePolicy{LAZY_PERSIST:15, storageTypes=[RAM_DISK, DISK], creationFallbacks=[DISK], replicationFallbacks=[DISK]}
  1. 分别设置三个目录的存储策略
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs storagepolicies -setStoragePolicy -path /data/hdfs-test/data_phase/hot -policy HOT
hdfs storagepolicies -setStoragePolicy -path /data/hdfs-test/data_phase/warm -policy WARM
hdfs storagepolicies -setStoragePolicy -path /data/hdfs-test/data_phase/cold -policy COLD
  1. 查看三个目录的存储策略
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs storagepolicies -getStoragePolicy -path /data/hdfs-test/data_phase/hot
hdfs storagepolicies -getStoragePolicy -path /data/hdfs-test/data_phase/warm 
hdfs storagepolicies -getStoragePolicy -path /data/hdfs-test/data_phase/cold 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@node1 Examples]# hdfs storagepolicies -getStoragePolicy -path /data/hdfs-test/data_phase/hot
The storage policy of /data/hdfs-test/data_phase/hot:
BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}

[root@node1 Examples]# hdfs storagepolicies -getStoragePolicy -path /data/hdfs-test/data_phase/warm 
The storage policy of /data/hdfs-test/data_phase/warm:
BlockStoragePolicy{WARM:5, storageTypes=[DISK, ARCHIVE], creationFallbacks=[DISK, ARCHIVE], replicationFallbacks=[DISK, ARCHIVE]}

[root@node1 Examples]# hdfs storagepolicies -getStoragePolicy -path /data/hdfs-test/data_phase/cold 
The storage policy of /data/hdfs-test/data_phase/cold:
BlockStoragePolicy{COLD:2, storageTypes=[ARCHIVE], creationFallbacks=[], replicationFallbacks=[]}
3 💃上传测试💃

分别上传文件到三个目录中测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs dfs -put /etc/profile /data/hdfs-test/data_phase/hot
hdfs dfs -put /etc/profile /data/hdfs-test/data_phase/warm
hdfs dfs -put /etc/profile /data/hdfs-test/data_phase/cold

查看不同存储策略文件的block位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@node1 hadoop]# hdfs fsck /data/hdfs-test/data_phase/hot/profile -files -blocks -locations
Connecting to namenode via http://node1.itcast.cn:9870/fsck?ugi=root&files=1&blocks=1&locations=1&path=%2Fdata%2Fhdfs-test%2Fdata_phase%2Fhot%2Fprofile
FSCK started by root (auth:SIMPLE) from /192.168.88.100 for path /data/hdfs-test/data_phase/hot/profile at Sun Oct 11 22:03:05 CST 2020

/data/hdfs-test/data_phase/hot/profile 3158 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-538037512-192.168.88.100-1600884040401:blk_1073742535_1750 len=3158 Live_repl=3  [DatanodeInfoWithStorage[192.168.88.101:9866,DS-96feb29a-5dfd-4692-81ea-9e7f100166fe,DISK], DatanodeInfoWithStorage[192.168.88.100:9866,DS-79739be9-5f9b-4f96-a005-aa5b507899f5,DISK], DatanodeInfoWithStorage[192.168.88.102:9866,DS-e28af2f2-21ae-4aa6-932e-e376dd04ddde,DISK]]

hdfs fsck /data/hdfs-test/data_phase/warm/profile -files -blocks -locations

/data/hdfs-test/data_phase/warm/profile 3158 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-538037512-192.168.88.100-1600884040401:blk_1073742536_1751 len=3158 Live_repl=3  [DatanodeInfoWithStorage[192.168.88.102:9866,DS-636f34a0-682c-4d1b-b4ee-b4c34e857957,ARCHIVE], DatanodeInfoWithStorage[192.168.88.101:9866,DS-ff6970f8-43e0-431f-9041-fc440a44fdb0,ARCHIVE], DatanodeInfoWithStorage[192.168.88.100:9866,DS-79739be9-5f9b-4f96-a005-aa5b507899f5,DISK]]


hdfs fsck /data/hdfs-test/data_phase/cold/profile -files -blocks -locations
/data/hdfs-test/data_phase/cold/profile 3158 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-538037512-192.168.88.100-1600884040401:blk_1073742537_1752 len=3158 Live_repl=3  [DatanodeInfoWithStorage[192.168.88.102:9866,DS-636f34a0-682c-4d1b-b4ee-b4c34e857957,ARCHIVE], DatanodeInfoWithStorage[192.168.88.101:9866,DS-ff6970f8-43e0-431f-9041-fc440a44fdb0,ARCHIVE], DatanodeInfoWithStorage[192.168.88.100:9866,DS-ca9759a0-f6f0-4b8b-af38-d96f603bca93,ARCHIVE]]

我们可以看到:

hot目录中的block,3个block都在DISK磁盘 warm目录中的block,1个block在DISK磁盘,另外两个在archive磁盘 cold目录中的block,3个block都在archive磁盘

后记

📢博客主页:https://manor.blog.csdn.net

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📢本文由 manor 原创,首发于 CSDN博客🙉

📢Hadoop系列文章会每天更新!✨

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[hadoop3.x]HDFS存储类型和存储策略(五)概述
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/12/06
1.6K0
[hadoop3.x]HDFS存储类型和存储策略(五)概述
[hadoop3.x]HDFS之银行海量转账数据分层案例(八)
银行有非常多的用户,四大银行拥有数10亿的用户。要保存的数据量可想而知。如果说有的数据,都同等对待,为了保证使用数据的性能,采用的是高性能存储,这将是一笔不小的资源浪费。实际上,超过一定时间的数据,数据访问的频率要低得多。例如:用户查询5年前的转账记录、要比查询1年类的转账记录频率要低得多。
Maynor
2021/12/06
3050
[hadoop3.x]HDFS之银行海量转账数据分层案例(八)
大数据之Hadoop企业级生产调优手册(下)
注:演示纠删码和异构存储需要一共 5台虚拟机。尽量拿另外一套集群。提前准备 5台服务器的集群。
王知无-import_bigdata
2021/10/13
6460
HDFS异构存储简介
Hadoop在2.6.0版本中引入了一个新特性异构存储.异构存储关键在于异构2个字.异构存储可以根据各个存储介质读写特性的不同发挥各自的优势.一个很适用的场景就是上篇文章提到的冷热数据的存储.针对冷数据,采用容量大的,读写性能不高的存储介质存储,比如最普通的Disk磁盘.而对于热数据而言,可以采用SSD的方式进行存储,这样就能保证高效的读性能,在速率上甚至能做到十倍于或百倍于普通磁盘读写的速度.换句话说,HDFS的异构存储特性的出现使得我们不需要搭建2套独立的集群来存放冷热2类数据,在一套集群内就能完成.所以这个功能特性还是有非常大的实用意义的.本文就带大家了解HDFS的异构存储分为哪几种类型,存储策略如何,HDFS如何做到智能化的异构存储.
大数据真好玩
2020/08/04
2.3K0
HDFS异构存储简介
大数据存储平台之异构存储实践深度解读
经常做数据处理的伙伴们肯定会有这样一种体会:最近一周内的数据会被经常使用到,而比如最近几周的数据使用率会有下降,每周仅仅被访问几次;在比如3月以前的数据使用率会大幅下滑,存储的数据可能一个月才被访问几次。 这就产生了一种热和冷数据,对需要频繁访问的数据我们称之为“热”数据,反之我们称之为”冷”数据,而处于中间的数据我们称之为”温”数据。 在数据被视为公司资产的时代,每个公司基本都会保存最近数年的数据,而这些数据尤其是冷数据的累积也给存储平台带来了甜蜜的负担。下面就来分享下如何解决这些“负担”。 首先如何定义
程序你好
2018/07/20
6650
你问我答1 - HDFS数据的写入原理
我们在集群中配置了hdfs异构存储策略,配置如下: dfs.datanode.data.dir:/data02/dfs/dn,/data03/dfs/dn,[ARCHIVE]/mnt/nfs01/dfs/dn dfs.namenode.replication.min:1 dfs.replication:2 然后做了如下测试: hdfs dfs -mkdir /user/xxx/warm hdfs storagepolicies -setStoragePolicy -path /user/xxx/warm -
Fayson
2022/08/26
8570
你问我答1 - HDFS数据的写入原理
0675-6.2.0-什么是HDFS分层存储
CDH支持Hadoop分布式文件系统HDFS中的各种存储类型。早期的CDH只支持一种存储类型。现在,您可以为DataNode数据目录指定不同的存储类型,这样可以根据数据使用频率优化数据使用并降低成本。例如需要频繁使用的数据,可以存储在SSD中,而归档的数据可以存放在相对便宜的存储介质中。
Fayson
2019/07/30
1.2K0
[HDFS源码]-HDFS 副本策略原理分析
本文会从源码的实现角度来分享关于HDFS副本存储策略的概念和实现原理,HDFS的副本存储策略涉及副本写入、副本读取、机架感知、目标端存储的好坏区分策略, 熟悉副本存储策略可以帮助我们在开发或者运维过程中,提升数据处理/读写的效率、避免集群故障的发生.
用户5252199
2022/08/30
1.1K0
[HDFS源码]-HDFS 副本策略原理分析
✨[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/12/06
2.9K0
✨[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
《快学BigData》--Hadoop总结(D)(37)
Hadoop总结 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 210
小徐
2019/08/05
5630
《快学BigData》--Hadoop总结(D)(37)
Failed to place enough replicas
如果DataNode的dfs.datanode.data.dir全配置成SSD类型,则执行“hdfs dfs -put /etc/hosts hdfs:///tmp/”时会报如下错误:
一见
2018/08/02
2K0
HDFS 异构存储
该文介绍了在分布式存储系统中,通过使用 Raft 协议进行分布式数据一致性维护和通过 Zab 协议进行分布式数据访问控制。同时,介绍了基于 Raft 协议的 Zab 协议实例以及基于 Zab 协议的 Raft 协议实例。
liubang01
2017/07/28
4.2K0
HDFS 异构存储
eBay:如何用HDFS分层策略优化数千节点、数百PB的数据存储
目前在eBay的Hadoop集群有数千个节点,支持成千上万的用户使用。他们的Hadoop集群存储数百PB的数据。这篇文章中将探讨eBay如何基于数据使用频率优化大数据存储。这种方法有助于有效地降低成本。 eBay对于大家来说都非常熟悉,是美国的一家电商网站,对于他们来讲每天的数据都是海量的。目前在eBay的Hadoop集群有数千个节点(具体不方便透漏),支持成千上万的用户使用。他们的Hadoop集群存储数百PB的数据。这篇文章中将探讨eBay如何基于数据使用频率优化大数据存储。这种方法有助于有效地降低成本。
CSDN技术头条
2018/02/09
1.5K0
查看Hadoop HDFS 中的一个文件对应block信息
该文章介绍了如何使用 Hadoop 进行大数据处理和分析。主要内容包括:Hadoop 的基本配置、集群搭建、数据存储、数据清洗、数据处理和结果展示。同时,文章还介绍了如何使用 Hadoop 进行数据分析和可视化。
程裕强
2018/01/02
2.8K0
HDFS应用场景、原理、基本架构及使用方法
如果一个文件大小为10K,则1亿个文件大小仅为1TB(但要消耗掉NameNode 20GB内存)
王知无-import_bigdata
2020/08/20
1.7K0
HDFS应用场景、原理、基本架构及使用方法
[hadoop3.x]HDFS中的内存存储支持(七)概述
l DataNode异步地将内存中数据刷新到磁盘,从而减少代价较高的磁盘IO操作,这种写入称之为懒持久写入
Maynor
2021/10/12
1.8K0
[hadoop3.x]HDFS中的内存存储支持(七)概述
[hadoop3.x系列]HDFS REST HTTP API的使用(一)WebHDFS
Maynor
2021/12/06
1.7K0
[hadoop3.x]HDFS中的内存存储支持(七)概述
【万字长文】HDFS最全知识点整理(建议收藏)
1)跟NN通信查询元数据(block所在的DN的节点),找到文件块所在的DN的服务器。2)挑选一台DN(就近原则,然后随机)服务器,请求建立socket流。3)DN开始发送数据(从磁盘里读取数据放入流,一packet为单位做校验) 4)客户端以packet为单位接收,现在本地缓存,然后写入目标文件中,后面的block块就相当于append到前面的block块,最后合成最终需要的文件。
857技术社区
2022/05/17
3.1K0
【万字长文】HDFS最全知识点整理(建议收藏)
HDFS 高阶内容
保存 文件树 保存 file->block (file == idnode) 不保存 block->location
birdskyws
2018/12/07
6860
Hadoop hdfs配置
网络情况:网络为:192.168.80.0,网关为192.168.80.2,掩码为255.255.255.0,域名202.196.32.1。
张哥编程
2024/12/19
1480
Hadoop hdfs配置
相关推荐
[hadoop3.x]HDFS存储类型和存储策略(五)概述
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验