“新基建”下,大数据等关键技术高速发展,随着数据呈现爆炸式的增长,数据处理的场景对计算和存储的要求越来越高。大数据就是一门未处理海量数据而诞生的技术,包括数据的收集,处理和存储。
今天我将为您揭秘如何通过对关键参数及相关组件的调整,使作业运行效率达到最优。
首先我将为大家介绍大数据场景为什么需要调优,并结合大数据组件特点和业务场景,告知大家基本调优思路和常用的性能监控工具;然后,以HBase的调优案例为例,介绍大数据组件调优过程中可能会遇到的问题及调优思想,最后,在实践部分简要介绍Hadoop组件的调优流程。
通过本文,您将了解到大数据调优过程中的常见问题,初步学习大数据调优的基本思路,并采用调优手段解决问题。
大数据并行计算特点天然匹配鲲鹏多核架构
大数据介绍及组件关系分布
大数据是集收集,处理,存储为一体的技术总称。在海量数据处理的场景,大数据对计算及存储的要求较高,普遍以集群形式存在。不同的组件有不同的功能体现。如图,这些就是一些大数据生态中常用的组件以及对应的功能的体现。
大数据普遍是以集群的形式存在的,但有任务需要处理海量的数据时,一般会把任务先分解成更小规模的任务,通过增加并发的方式来提高性能。而鲲鹏多核计算的特点能进一步的提高大数据任务的并发度与大数据多任务并行执行的需求天然匹配。
此处以图中MapReduce模型为例。
我们假设数据量比较大,比如说是1TB,首先我们将原数据进行分割。比如说128MB一份,分成若干份,再分配给MapReduce进行映射、排序、合并,最后再将结果进行汇总,整个任务就是统计每个单词出现的频率。MapReduce就是将任务分成多个子任务进行统计,再合并结果,在结果上其实是一样的,但并发度和资源利用率上就有所提升。
但是,为了获得更好的性能,仍需根据硬件配置和应用程序特点,对软硬件系统做进一步的优化。调优原因如下:
-组件参数默认值保守: 应用程序和操作系统为了兼容不同环境,涉及性能的参数默认值较小,不能发挥集群资源的最大性能
-合理配置上下游组件的资源分配: 同一套大 数据集 群环境中会安装不同的组件,而不同组件对CPU、磁盘、网络等资源需求不同,需合理配置
-性能瓶颈因硬件配置而异: 因硬件环境常无法统一,当某个硬件资源提前到达瓶颈,需根据实际硬件配置进行针对性的调优
那么常见的调优思路有哪些呢?
第一部分是基础调优操作,确保集群拥有较优的性能:
-常用调优思路:当客户端压力不足以发挥大数据集群的性能时,需优先提高客户端压力
-保障测试压力:根据组件特点,尽可能多地分配该组件依赖的物理资源(CPU、磁盘、内存、网络等)
第二部分为重复资源监控、确定瓶颈、优化动作,可以针对性解决问题,提升性能
-分配物理资源:使用性能监控工具观察系统状态并进行记录,如CPU、磁盘、内存、网络、应用程序GC状况、热点函数等
-监控资源使用情况:基于组件、应用程序特点和监控数据识别性能瓶颈,瓶颈可能是物理资源、组件参数、测试工具、测试组网、JVM、锁等
-确定性能瓶颈:根据识别的瓶颈针对性地进行优化,其中,优化手段有时并不会生效,需进一步确定是否锁定瓶颈及优化手段是否正确
那么常见的调优问题有哪些呢?
-应用层面:CPU占用率低、内存消耗尽但CPU等资源还有富余、GC频繁、CPU占用率高
-硬件层面:磁盘IO占用率高,CPU iowait高、网络IO占用率高、内存占用多
-客户端:组件参数已确保较优,但性能不好
以上,我们介绍了大数据场景,为何需要调优?通过调优能解决哪些类型的问题,然后结合并结合大数据组件特点和业务场景,列举了基本调优思路和常用的性能监控工具,列举一些常用的调优思路。那么性能监控的工具有哪些,我们又如何进行实际的调优操作呢?
欢迎学习华为云学院微认证《基于BoostKit的大数据性能调优实践》,了解详细实践内容。该课程非常适合对大数据组件调优感兴趣的开发者,或大数据各个组件的初学者,该课程介绍了介绍大数据主要组件性能调优的经验,以Hbase为例介绍调优过程,并通过实践巩固调优理论,学习本课程后,你能够对大数据组件调优有基本的理解和思路,能根据特定场景对特定组件进行调优
快来跟我一起学习吧,限时0元考Kunpeng BoostKit全新上线微认证,一站式在线学习、实验与考试,还可赢百万码豆和“牛转乾坤”福卡,兑换华为P40pro、华为MatePad、华为WATCH GT等精美礼品!