关于hadoop和cassandra性能问题的讨论-java开发java经验技巧

关于hadoop和cassandra性能问题的讨论-java开发java经验技巧

ID:28372809

大小:74.50 KB

页数:5页

时间:2018-12-09

关于hadoop和cassandra性能问题的讨论-java开发java经验技巧_第1页
关于hadoop和cassandra性能问题的讨论-java开发java经验技巧_第2页
关于hadoop和cassandra性能问题的讨论-java开发java经验技巧_第3页
关于hadoop和cassandra性能问题的讨论-java开发java经验技巧_第4页
关于hadoop和cassandra性能问题的讨论-java开发java经验技巧_第5页
资源描述:

《关于hadoop和cassandra性能问题的讨论-java开发java经验技巧》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、关于Hadoop和Cassandra性能问题的讨论-Java开发Java经验技巧关于Hadoop和Cassandra性能问题的讨论本文illImportNew-唐尤华翻译自apmblog.compuware.com□欢迎加入翻译小组。转载诘见文末要求。最近儿周里,我和同事参加了在旧金山港湾区的Hadoop和Cassandra高峰论坛。如此密集地与众多有经验的大数据专家进行探讨是-件非常享受的事情。感谢我们的合作伙伴DataStax和Hortonworks主办了这场盛会!与此同时,我也看到性能问题已经成为了社区里讨论的主要内容。我们搜集了很多典型大数据性能问题的

2、反馈,也惊讶于性能问题带来的挑战。因为与会者都是专家,因此通用性问题和基础的集群监控方法不在讨论之列。本文会介绍关于Hadoop和Cassandra的咼级问题。我整理了最有意思和最常见的Hadoop和Cassandra部署问题:Hadoop焦点问题MapReduce数据本地性问题数据本地性是HadoopMap/Reduce的核心优势,map代码会在数据所处的节点上执行。然而有意思的是,很多人在实践小发现情况并非总是如此。他们发现了以下例外情况:•预测执行•异构的分布式集群•数据分布和位置•数据布局和输入分流这些问题在大集群里出现更加频繁,也就是说数据节点越多本

3、地化数据就越少。由于越大的集群完全相同的可能性就越小,一些节点的更新速度会比其他节点更快导致计算比例失衡。预测执行即使没有木地数据也会占用计算能力。问题数据节点可能会计算具他内容,这会导致另一个节点执行非本地处理。问题的根源可能在数据布局和输入分流上。无论如何,处理非本地数据会造成网络的扩展性问题,使得网络成为瓶颈。不仅如此,由于数据本地性不容易观察诊断这些问题非常困难。为了提高数据木地性,你首先需耍检测你的任务(job)中哪些有数据本地性问题或者会随着时间性能下降。通过APM(每分钟操作次数)方案,你可以知道哪些任务访问了什么数据节点。解决本地性问题更为复杂

4、,包括更改数据位置和数据布局、使用不同的调度器或者简单改变任务的映射器(mapper)和减速器椚(reducerslot)。接下来,通过执行同样的工作你可以验证新方案是否能带来更好的本地数据比率。低效任务代码和Hadoop工作量“分析”接着我们又证实了一个冇趣的观点:很多HadoopI作量非常低效。请注意,这不是Hadoop的问题而是执行任务的问题。然而,在更大的Hadoop集群里“分析”任务是最主要的痛点。仅仅黑盒方式的监控是不够的,传统的分析器不能应对Hadoop集群的分布式特点。针对这个问题,我们的解决方案得到了很多资深Iladoop开发者的认可。我们还

5、收到了很多关于如何让我们的Hadoop任务“分析”更加有效的有趣反馈。TaskTracker性能及其对置乱时间的影响众所周知,置乱是IkiddopJob中对性能影响最主要的因素。在很多Hadoop性能调优的文章里都描述了优化图小间的数据(比如使用组合其)、(使用拆分器)置乱分布和纯粹的读/合并性能(线程个数、管理低端内存)。但是很少有文章谈及降低特定TaskTracker速度,这种方案在很多资深“Hadooper”中间已经得到了广泛地讨论。当计算节点处于高压状态、硬件能力不足或者进入层叠效果时,本地的TaskTracker就会受到负面影响。更简单地说,在大集群

6、中的一些节点会因此降低性能!结果就是TaskTracker节点不能为还原器提供快速置乱数据,或者可能在进行操作吋发生错误。基木上所有还原器都会出现该问题,因为置乱是整个任务执行吋间的瓶颈而且会不断壇加。在小集群上我们可以监控一组运行的TaskTracker性能,然而在现实中的集群上这是不可行的。监控基于中枢的平均值会掩盖触发该问题的任务,所以不能确定究竟是哪个TaskTracker造成的问题以及背后的原因。解决方法是采用基线方式,配置PurePath/PureStack模型。对TaskTracker请求做基线能够解决平均值和监控问题,通过这种方法,如果发生Ta

7、skTrackermapOutput性能问题我们可以得到即时通知,而且能够及时确认是哪个TaskTracker岀现的问题。接下来,我们能够通过通过JVM主机的健康状况定位究竞是基础设施、Hadoop配置或是新操作系统造成了问题。最后,通过追踪所有任务、作业(task)以及mapOutput请求各自的任务,我们可以知道究竟是哪个任务触发了TaskTracker性能问题以及哪些任务受其影响。NameNode和DataNode变慢与TaskTrackcr类似,NanieNode和DataNodc也会对任务性能产生影响oNameNodc或特定DataNode变慢会对整

8、个集群产生显著的彩响。解决的办法可以对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。