Flink性能调优开发规范 Flink性能调优规则 Flink性能调优建议 父主题: Flink应用开发规范
dynamic.partition.mode=nonstrict; 动态分区可能导致一个DML语句创建大量的分区,对应创建大量新文件夹,对系统性能可能带来影响。 在文件数量大的情况下,执行一个SQL语句启动时间较长,可以在执行SQL语句之前执行“set mapreduce.input
使用External Shuffle Service提升Spark Core性能 操作场景 Spark系统在运行含shuffle过程的应用时,Executor进程除了运行task,还要负责写shuffle数据以及给其他Executor提供shuffle数据。当Executor进程任务过重,导致触发GC(Garbage
MapReduce Shuffle调优 操作场景 Shuffle阶段是MapReduce性能的关键部分,包括了从Map task将中间数据写到磁盘一直到Reduce task拷贝数据并最终放到reduce函数的全部过程。这部分Hadoop提供了大量的调优参数。 图1 Shuffle过程
executor内存不足导致查询性能下降 现象描述 在不同的查询周期内运行查询功能,查询性能会有起伏。 可能原因 在处理数据加载时,为每个executor程序实例配置的内存不足,可能会产生更多的Java GC(垃圾收集)。当GC发生时,会发现查询性能下降。 定位思路 在Spark
executor内存不足导致查询性能下降 现象描述 在不同的查询周期内运行查询功能,查询性能会有起伏。 可能原因 在处理数据加载时,为每个executor程序实例配置的内存不足,可能会产生更多的Java GC(垃圾收集)。当GC发生时,会发现查询性能下降。 定位思路 在Spark
HDFS性能差导致HBase服务不可用告警 问题现象 HBase组件不断上报服务不可用告警。 原因分析 该问题多半为HDFS性能较慢,导致健康检查超时,从而导致监控告警。可通过以下方式判断: 首先查看HMaster日志(“/var/log/Bigdata/hbase/hm/hbase-omm-xxx
为什么Bad Records导致数据加载性能降低? 问题 为什么Bad Records会导致数据加载性能降低? 回答 加载数据中存在Bad Records,并且“BAD_RECORDS_LOGGER_ENABLE”参数值为“true”或“BAD_RECORDS_ACTION”参数值为“redirect”。
集群在线扩缩容 大数据集群的处理能力通常可以通过增加集群的节点数来横向扩展,当集群规模不符合业务要求时,用户可以通过该功能进行集群节点规模的调整,进行扩容或者缩容;在缩容节点时,MRS会智能地选择负载最少或者迁移数据量最小节点,并且在缩容过程中,缩容节点不再接收新的任务,正在执行
FlinkSQL JSON_VALUE函数性能优化 本章节适用于MRS 3.5.0及以后版本。 使用场景 内置JSON_VALUE函数解析一个JSON item的多个字段时,复用上次JSON item的解析结果,提升算子性能。 使用方法 配置Flink作业时,可通过在FlinkServer
(简称CCSMap)特性优化了Memstore的数据结构,可以有效减少数据写入场景下的内存占用,降低GC频率,优化数据写入性能。若实际业务场景中对数据写入性能要求较高时,建议开启此特性。 本章节内容仅适用于MRS 3.3.1及之后版本。 操作步骤 登录集群的FusionInsight
在其他Master节点上重复执行如上步骤。 执行ps -ef |grep knox命令可查看已设置的内存信息。 图1 knox内存 父主题: 性能优化类
该进程预留足够运行资源。 16384 为达到最优性能,可配置为集群中节点最小物理内存的90%。 yarn.nodemanager.resource.cpu-vcores 可分配给container的CPU核数。 8 为达到最优性能,可配置为集群中节点最小CPU vCores。 yarn
调整HetuEngine动态过滤 HetuEngine提供了动态过滤的功能,在Join场景中开启动态过滤往往有较大的性能提升。本章节介绍如何开启动态过滤功能。 使用可访问HetuEngine WebUI界面的用户登录FusionInsight Manager,选择“集群 > 服务
数据加载性能调优 数据加载性能调优与查询性能调优差异很大。跟查询性能一样,数据加载性能也取决于可达到的并行性。在数据加载情况下,工作线程的数量决定并行的单元。因此,更多的执行器就意味着更多的执行器核数,每个执行器都可以提高数据加载性能。 同时,为了得到更好的性能,可在HDFS中配置如下参数。
当HBase业务突然出现峰值,短时间内大量请求发送到一个RegionServer/HMaster时,超过其可接受的范围,就会造成过载。过载会导致应用侧读写性能下降,HBase服务侧频繁GC,严重时会导致服务实例重启等。 当前HBase具有防过载能力,可以实现拒绝超大请求、保护内部请求、记录不合理
因而JobManager和TaskManager的参数配置对Flink应用的执行有着很大的影响意义。用户可通过如下操作对Flink集群性能做优化。 操作步骤 配置JobManager内存。 JobManager负责任务的调度,以及TaskManager、RM之间的消息通信。当
0及以后版本。 Flink作业RocksDB介绍 当启用RocksDB作为作业的状态后端时,大量的状态数据会导致RocksDB的读写性能差。可通过如下方法排查算子性能是否受RocksDB影响: 在TaskManager页面的ThreadDump查看算子是否长时间执行在RocksDB的操作接
调整Hive元数据超时 大分区表包含过多分区,导致任务超时,同时大量分区可能需要更多时间来加载与元存储缓存同步。因此,为了在更大规模存储中获得更好的性能,建议相应地调整加载元数据缓存最大超时时间和加载元数据连接池最大等待时间。 使用HetuEngine管理员用户登录FusionInsight
业务实际情况调大。单击“保存”,保存配置,重启Presto服务。 Presto重启会导致服务不可用,请在业务空闲期间重启服务。 父主题: 性能优化类