一种堆外内存缓存策略加速数据写OSS
1. 背景介绍
EMR集群中作业写数据到OSS时,需要先将数据缓存在本地,然后再一次性上传到OSS中。EMR支持两种缓存策略:
- disk
- off-heap
两种缓存测试使用场景略有区别:
- 本地磁盘缓存策略适用到任何场景,且能满足较大文件上传需求。
- 堆外内存缓存策略在性能上较磁盘缓存有优势,但是受限于内存资源。在实现上,堆外内存的申请会限制在一定范围内,当数据产生速率超过数据上传速率时,输出流会block住,需要等待进行中的上传任务完成。
潜在问题:
- 作业提交到Yarn:当使用堆外内存策略时,存在内存超用被Yarn杀掉的风险。所以在内存参数设置上需要格外小心,不然会影响到作业的稳定性。
2. 如何使用
作业参数中配置"fs.oss.upload.bufferType",可选值为"disk"或者"off-heap"。以下举例:
1. hadoop fs -
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
E-MapReduce上如何采集Kafka客户端Metrics
1. 背景 我们知道Kafka提供一套非常完善的Metrics数据,覆盖Broker,Consumer,Producer,Stream以及Connect。E-MapReduce通过Ganglia收集了Kafka Broker metrics信息,可以很好地监控Broker运行状态。但完整的Kafka应用包括Kafka Broker和Kafka 客户端这两个角色,当发生读写性能问题时,常常从Broker角度难以发现问题,需要结合客户端的运行状况来联合分析才行。那么Kafka客户端metrics就是一类非常重要的数据。E-MapReduce是如何进行Kafka客户端metrics采集的呢? (欢迎关注E-MapReduce开源项目:https://github.com/aliyun/aliyun-emapreduce-sdk) 2. 实现 2
- 下一篇
Spark Streaming中的操作函数分析
参考链接: https://blog.csdn.net/dabokele/article/details/52602412
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境