HDFS集中式缓存管理(Centralized Cache Management)

Hadoop从2.3.0版本开始支持HDFS缓存机制,HDFS允许用户将一部分目录或文件缓存在HDFS当中,NameNode会通知拥有对应块的DataNodes将其缓存在DataNode的内存当中

集中式缓存管理有着许多显著的优势:

  1. 防止那些被频繁使用的数据从内存中清除
  2. 因为DataNode的缓存由NameNode来管理,applications在做任务安排时可以查询这个缓存的列表,使用一个被缓存的块副本能够提高读性能
  3. 当块被DataNode缓存之后,客户端可以使用一个新的、高效的、zero-copy的读API,因为缓存中的数据已经被计算过checksum,当使用新API时,客户端基本上是零开销的
  4. 可以提高集群的内存利用率。当使用操作系统的缓存时,对一个块的重复读会导致所有的副本都会被放到缓冲区当中,当使用集中式缓存时,用户可以指定n个副本中的m个才会被缓存,可以节约n-m的内存

用法

集中式缓存对那些频繁访问的的文件是非常有用的,例如hive中经常被使用的fact表就非常适合缓存;另一方面,缓存一年的查询结果可能没那么有用了,因为这个结果可能只会被查看一次

也有助于提高混合类型作业的SLA性能,把高优先级的数据缓存起来可以确保它不会与低优先级的数据竞争磁盘IO


使用:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. [hadoop@master hadoop]$ hdfs cacheadmin -addPool admin              【添加一个pool】  
  2. Successfully added cache pool admin.  
  3. [hadoop@master hadoop]$ hdfs cacheadmin -listPools                          【查看pool列表】  
  4. Found 1 result.  
  5. NAME   OWNER   GROUP   MODE            LIMIT  MAXTTL  
  6. admin  hadoop  hadoop  rwxr-xr-x   unlimited   never  
  7. [hadoop@master hadoop]$ hdfs cacheadmin -addDirective -path /input -pool admin 【将一个目录加入pool】  
  8. Added cache directive 1  
  9. [hadoop@master hadoop]$ hdfs cacheadmin -listDirectives                     【查看已缓存的数据】  
  10. Found 2 entries  
  11.  ID POOL    REPL EXPIRY  PATH        
  12.   1 admin      1 never   /input      
  13.   2 test       1 never   /output/0  
  14. [hadoop@master hadoop]$ hdfs cacheadmin -removeDirective 1              【按id清除缓存】  
  15. Removed cached directive 1  
  16. [hadoop@master hadoop]$ hdfs cacheadmin -listDirectives                       
  17. Found 1 entry  
  18.  ID POOL   REPL EXPIRY  PATH        
  19.   2 test      1 never   /output/0   
  20. [hadoop@master hadoop]$ hdfs cacheadmin -removeDirectives -path /output/0   【按path清除缓存】  
  21. Removed cache directive 2  
  22. Removed every cache directive with path /output/0  
  23. [hadoop@master hadoop]$ hdfs cacheadmin -listDirectives  
  24. Found 0 entries  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值