写点什么

Hunk/Hadoop: 性能最佳实践

  • 2015-09-27
  • 本文字数:1226 字

    阅读完需:约 4 分钟

无论有没有使用 Hunk,当运行 Hadoop 时,有很多种方式导致偶尔的性能底下。多数时候人们是增加更多的硬件来解决问题,但是有时候只需要简单更改下文件的名称就可以解决问题。

运行 Map-Reduce 任务 [Hunk]

Hunk 运行在 Hadoop 之上,但是这并不意味着一定做到有效的使用。如果 Hunk 运行在“复杂模式”,而不是“智能模式”的话,它就没有真正的用到 Map-Reduce。相反它会直接将所有的 Hadoop 数据拉到 Splunk 引擎,并在那里处理它。

HDFS 存储 [hadoop]

在 Hadoop 的很多事项和 Hunk 有关联时如何部署文件?你需要在文件路径中包含时间戳,Hunk 可以使用目录结构来当作一个过滤器,可以极大的减少被拉到 Splunk 的数据量。

在文件名称中包含时间戳也可以生效,但是效果较差,因为 Hunk 仍然会读取所有的文件名。

为了更好的性能,你可以在文件路径中包含一个健-值对。例如 “…/2015/3/2/app=webserver/…” 。在遍历目录时查询指令会将包含键-值对的过滤掉,再次减少了被拉到 Splunk 的数据量。

基于时间戳的 VIX/indexs.conf[hunk]

当文件存储模式对于任何的 Hadoop Map-Reduce 有利时,你就需要修改 indexs.conf,以让 Hunk 可以识别目录结构。

文件格式 [Hunk]

诸如 JSON 和 CSV 这样的自我描述的文件,对于 Hunk 来说是很容易读取的,它们更加的详细,且消除了代价昂贵的映射操作。

压缩类型/文件大小 [Hdaoop]

要避免过大的文件,例如 500MB 的 GZ 压缩且没有分片的文件。(诸如 LZO 压缩的分片文件也是可以接受的。)对于没有分片的文件来说,在 core 和文件之间是一对一的映射关系,这就意味着只能有一个 core 来处理大文件,而其它定 core 只能空转等待。也就是说处理没有分片的文件花费了大量的时间,那么 Map-Reduce 的任务就无法快速的处理。

同样,你也应该避免使用大量的大小在几十 KB 到几百 KB 之间的碎文件。如果文件太小,你会在启动和管理任务花费大量的时间,而不是真正的用在处理数据本身之上。

报告加速 [hunk]

Hunk 现在可以利用 Splunk 的报告加速功能了,这会在 HDFS 中缓存搜索的结果,减少或消除了需要从主的 Hadoop 集群中读取数据量。

在你启用此功能之前,请确保你的 Hadoop 集群拥有足够的空间来存储缓存。

硬件 [Hadoop]

确保你拥有合适的硬件。虽然 Hadoop 是能够运行在甚至是双核的笔记本电脑中,但是你要真正使用它,还是需要每个节点拥有至少 4 颗 4 个核的 CPU,为了能够确保拥有足够的暂存空间,你须配置至少 12GB 的内存,两块本地磁盘 (10K 或固态)

搜索 Head Clustering[Hunk]

搜索 Head Clustering 在 Splunk 6.2 中是相对较新的一个特性,在 Splunk6.3 中,对于基于 Hunk 的查询将是一个可行的属性。

查看英文原文: Hunk/Hadoop:Performance Best Practices


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015-09-27 19:002259
用户头像

发布了 33 篇内容, 共 11.0 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

什么情况下要招人?

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

算法题目解析:从一道题目看动态规划

程序员架构进阶

算法 动态规划 28天写作 4月日更

不要给自己留后路

小天同学

人生 个人感悟 成功 4月日更

NumPy之:数据类型

程序那些事

Python 数据分析 Numpy 程序那些事

Python OOP-1

若尘

面向对象 oop 面向对象编程 Python编程

10 亿数据量只需要 100MB 内存,Redis 的位存储为什么这么牛?

Java小咖秀

redis 原理 位运算 bit 高级特性

IPFS云算力挖矿系统开发|Filecoin算力挖矿搭建

薇電13242772558

区块链 存储

对话亚马逊云科技 WWSO 团队四位大咖,给你讲讲他们的职场故事~

亚马逊云科技 (Amazon Web Services)

【论文分享】Presto: SQL on Everything(一)

小舰

4月日更

阿里开发7年大牛:只需一篇文章吃透Android多线程技术,好文推荐

欢喜学安卓

android 程序员 面试 移动开发

什么是产品思维和产品意识?——课程总结

Deborah

借力云原生,预见医学影像“云阅片”和电子胶片的未来 | 精选案例

亚马逊云科技 (Amazon Web Services)

悟透前端:JavaScript ES6模块的导入导出

devpoint

ES6 export export default

连续三年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

阿里巴巴中间件

王霸雄图荣华敝屣,谈笑间尽归尘土|基于Python3双队列数据结构搭建股票/外汇交易匹配撮合系统

刘悦的技术博客

数据结构 算法 Python3 匹配 股票系统

网络协议学习笔记Day1

穿过生命散发芬芳

网络协议 4月日更

Flutter Slidable 列表侧滑菜单 列表侧滑删除

早起的年轻人

flutter

免费开源增强版 Elasticsearch 分支 OpenSearch 项目上线!现邀您加入开源社区!

亚马逊云科技 (Amazon Web Services)

Ansible 命令行工具

耳东@Erdong

4月日更

架构训练营——作业 2

架构实战营

rrxjava原理,手持4个大厂offer的我,吊打面试官系列!

欢喜学安卓

android 程序员 面试 移动开发

Ask Me Anything #1 我是新晋CNCF TOC张磊,你有什么想问我的?

阿里巴巴云原生

容器 开发者 运维 云原生 k8s

Android Camera开发系列:设置对焦模式模式

小驰笔记

Camera; Android;

Oracle LogMiner 数据迁移实战

yintianwen

Java 数据库 后端 数据迁移 LogMiner

你不一定全知道的四种Python装饰器实现详解

老猿Python

Python 编程语言 装饰器 程序开发

流程引擎介绍

上海派拉基础研发

流程

重读《重构2》- 搬移函数

顿晓

重构 4月日更

websocket简析

风翱

websocket 4月日更

中国脑科学的十年行旅

脑极体

一个码砖的码农,在InfoQ写一年博客,出书了?

小傅哥

Java 设计模式 小傅哥 架构设计 码农出书

自从有了他,再也没有担心过环境部署~

MY

部署与维护

Hunk/Hadoop: 性能最佳实践_性能调优_Jonathan Allen_InfoQ精选文章