检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
执行Spark Core应用,尝试收集大量数据到Driver端,当Driver端内存不足时,应用挂起不退出 问题 执行Spark Core应用,尝试收集大量数据到Driver端,当Driver端内存不足时,应用挂起不退出,日志内容如下。 16/04/19 15:56:22 ERROR
执行Spark Core应用,尝试收集大量数据到Driver端,当Driver端内存不足时,应用挂起不退出 问题 执行Spark Core应用,尝试收集大量数据到Driver端,当Driver端内存不足时,应用挂起不退出,日志内容如下。 16/04/19 15:56:22 ERROR
SQL可以将表cache到内存中,并且使用压缩存储来尽量减少内存压力。通过将表cache,查询可以直接从内存中读取数据,从而减少读取磁盘带来的内存开销。 但需要注意的是,被cache的表会占用executor的内存。尽管在Spark SQL采用压缩存储的方式来尽量减少内存开销、缓解GC压力
台的安装部署和参数调优。 MRS服务为客户提供完全可控的大数据集群,客户在创建时可设置虚拟机的登录方式(密码或者密钥对),所创建的MRS集群资源完全归客户所用。同时MRS支持在两节点4U8G的ECS上部署大数据集群,为客户测试开发提供更多的灵活选择。 MRS集群类型包括分析集群、流式集群和混合集群。
执行Spark Core应用,尝试收集大量数据到Driver端,当Driver端内存不足时,应用挂起不退出 问题 执行Spark Core应用,尝试收集大量数据到Driver端,当Driver端内存不足时,应用挂起不退出,日志内容如下。 16/04/19 15:56:22 ERROR
中每个文件、目录和Block。 NameNode文件对象需要占用一定的内存,消耗内存大小随文件对象的生成而线性递增。DataNode实际保存的文件和目录越多,NameNode文件对象总量增加,需要消耗更多的内存,使集群现有硬件可能会难以满足业务需求,且导致集群难以扩展。 规划存储
置。 shuffle设置 对于合并功能,可粗略估计合并前后分区数的变化: 一般来说,旧分区数>新分区数,可设置shuffle为false;但如果旧分区远大于新分区数,例如高于100倍以上,可以考虑设置shuffle为true,增加并行度,提高合并的速度。 设置shuffle为tr
置。 shuffle设置 对于合并功能,可粗略估计合并前后分区数的变化: 一般来说,旧分区数>新分区数,可设置shuffle为false;但如果旧分区远大于新分区数,例如高于100倍以上,可以考虑设置shuffle为true,增加并行度,提高合并的速度。 设置shuffle为tr
行度,充分利用集群机器的计算能力,一般并行度设置为集群CPU总和的2-3倍。 操作步骤 并行度可以通过如下三种方式来设置,用户可以根据实际的内存、CPU、数据以及应用程序逻辑的情况调整并行度参数。 在会产生shuffle的操作函数内设置并行度参数,优先级最高。 testRDD.groupByKey(24)
heap时数据加载失败? 回答 YARN Resource Manager将(Java堆内存 + “spark.yarn.am.memoryOverhead”)作为内存限制。 因此在off heap时,内存可能会超出此限制。 您需配置参数“spark.yarn.am.memoryOverhead”以增加memory。
UDF开发规则 UDF中方法调用必须是线程安全的。 UDF实现中禁止读取外部大文件到内存中,如果文件过大可能会导致内存耗尽。 需避免大量递归调用,否则容易造成栈溢出或oom。 需避免不断创建对象或数组,否则容易造成内存耗尽。 Java UDF应该捕获和处理可能发生的异常,不能将异常给服务处理
1/sbin/status-oms.sh 以omm用户执行jmap -heap PID检查knox和executor进程内存使用情况,如果多次执行查看到老生代内存使用率为99.9%说明有内存溢出。 查询executor进程PID:netstat -anp | grep 8181 | grep LISTEN
cutor-cores NUM”参数设置核数。 配置Executor内存。 Executor的内存主要用于任务执行、通信等。当一个任务很大的时候,可能需要较多资源,因而内存也可以做相应的增加;当一个任务较小运行较快时,就可以增大并发度减少内存。 将“spark-defaults.conf”中的“spark
“-XX:MaxDirectMemorySize”为IoTDB JVM直接内存,建议值为堆内存的“1/4”,主要影响写入性能,如果写入性能明显下降,可以适当调整该参数,参数值按照0.5倍速率调大。注意:需要保证“堆内存+直接内存 <= 80% * 系统可用内存”, 否则会导致IoTDB启动失败。 查询场景调
heap时数据加载失败? 回答 YARN Resource Manager将(Java堆内存 + “spark.yarn.am.memoryOverhead”)作为内存限制,因此在off heap时,内存可能会超出此限制。 您需配置“spark-defaults.conf”文件中的参数“spark
配置JobHistory本地磁盘缓存 配置场景 JobHistory可使用本地磁盘缓存spark应用的历史数据,以防止JobHistory内存中加载大量应用数据,减少内存压力,同时该部分缓存数据可以复用以提高后续对相同应用的访问速度。 配置参数 登录FusionInsight Manager系统,选择“集群
Hudi在upsert时占用了临时文件夹中大量空间。 回答 当UPSERT大量输入数据时,如果数据量达到合并的最大内存时,Hudi将溢出部分输入数据到磁盘。 如果有足够的内存,请增加spark executor的内存和添加“hoodie.memory.merge.fraction”选项,如: option("hoodie
配置JobHistory本地磁盘缓存 配置场景 JobHistory可使用本地磁盘缓存spark应用的历史数据,以防止JobHistory内存中加载大量应用数据,减少内存压力,同时该部分缓存数据可以复用以提高后续对相同应用的访问速度。 配置参数 登录FusionInsight Manager系统,选择“集群
JobHistory进程堆内存使用超出阈值”告警,且按照告警参考处理无效。 问题现象 集群出现告警“ALM-43006 JobHistory进程堆内存使用超出阈值”并且按照指导处理以后,运行一段时间又会出现同样的告警。 原因分析 可能存在JobHistory内存泄露问题,需要安装相应的补丁修复。
Join时需要注意小表不能过大,如果小表将内存基本用尽,会使整个系统性能下降甚至出现内存溢出的异常。 Sort Merge Bucket Map Join 使用Sort Merge Bucket Map Join必须满足以下2个条件: join的两张表都很大,内存中无法存放。 两张表都按照join