当前位置: 首页 > wzjs >正文

java购物网站扫码支付怎么做优化疫情防控措施

java购物网站扫码支付怎么做,优化疫情防控措施,中学网站建设,上海建设部门网站大数据集群一个客户端参数引起的任务性能差的问题 背景介绍排查过程任务慢的具体原因Executor中数据内存往磁盘溢写结果数据写入分区路径 分析解决方案 结语&思考 背景介绍 随着业务量不断扩大,平台逐步发展成HDFS多联邦的架构,这个过程中&#xff…

大数据集群一个客户端参数引起的任务性能差的问题

  • 背景介绍
  • 排查过程
    • 任务慢的具体原因
      • Executor中数据内存往磁盘溢写
      • 结果数据写入分区路径
    • 分析
    • 解决方案
  • 结语&思考

背景介绍

随着业务量不断扩大,平台逐步发展成HDFS多联邦的架构,这个过程中,作为平台维护人员也会对参数进行不定期的优化以应对逐渐繁重的存算压力。

最近一个重点保障业务的计算任务无法满足客户的数据时延要求,客户很生气,然后也是各种投诉,然后项目上的同事就拉着一起查了下问题,最终定位到是一个客户端参数在大体量集群下造成的,记录一下

排查过程

在对日志进行分析的时候,主要发现了2个导致执行时间延长的点,分开进行说明:

任务慢的具体原因

在定位的时候,主要有2个地方会导致任务执行时间延长;

Executor中数据内存往磁盘溢写

任务执行过程中,可能会看到下面的这种日志,这样的日志一般是业务问题导致的,内存不够用,临时溢写磁盘,但是对于一个执行时间达到几个小时的任务来说,这个并不是主要的原因
在这里插入图片描述

结果数据写入分区路径

先看一个日志的关键截图,首先是9:31分:
在这里插入图片描述
然后是12:25分的日志
在这里插入图片描述
上图中可以看到在创建分区路径到数据完全写入完成度过了接近3个小时。

分析

因为可以基本定位到结果数据写入分区路径是主要影响任务时长的原因,所以对任务日志进行进一步排查,找找可能得原因;对比慢日志和快日志,有一个明显区别:

// 执行速度比较快的任务日志
2025-03-19 11:35:16,253 INFO org.apache.hadoop.hive.common.FileUtils: Creating directory if it doesn't exist: viewfs://nsX/ns3/path/.hive-staging_hive_2025-03-19_11-35-16_251_7169943507895305206-1
// 执行速度比较慢的任务日志
2025-03-19 07:35:37,022 INFO org.apache.hadoop.hive.common.FileUtils: Creating directory if it doesn't exist: viewfs://ns0/spark-tmp/stagedir/.hive-staging_hive_2025-03-19_07-35-37_020_688260183047175897-1

这个是在执行计算任务的时候指定的数据临时写入的目录路径,如果任务提交节点的客户端配置文件/etc/spark/conf/hive-site.xml中没有指定hive.exec.stagingdir参数,最终hive-staging就会写入到表对应的目录下(这是默认行为)如果客户端配置了这个参数,就会写入到参数指定的目录。

通过日志分析的结果,我们发现任务提交节点的客户端配置配置了该参数的话,任务执行时间久的数量远大于那些没配置该参数的提交节点,对此我们进行了对比:
在这里插入图片描述
进一步分析下来,确定了问题逻辑,因为集群是联邦环境,业务表可能存在于任意一个联邦,如果配置了hive.exec.stagingdir参数,任务执行时临时数据就会写入到一个指定的联邦下,这个时候,如果结果表的路径在其他联邦,那么业务逻辑完成后,就会存在跨联邦复制数据的动作;

而在跨 NameNode 执行 mv 操作时,会涉及到多个 NameNode 之间的元数据交互。源 NameNode 需要告知目标 NameNode 新文件的元数据信息,并且要确保两个 NameNode 之间的数据一致性。这个过程涉及到网络通信和同步操作,会增加额外的延迟,从而导致性能下降。

这就和我们在Linux上移动数据一样,同一个磁盘移动(类比成同联邦下)数据,只是元数据信息更改,不同磁盘移动数据(跨联邦)数据,数据会存在块写入,就会产生大量IO,分布式集群还涉及到网络等交互

解决方案

最终,我们决定删除所有提交节点的hive.exec.stagingdir配置项,这样,任务提交的时候久采用结果表的同联邦进行临时数据的写入,避免了跨联邦的数据移动。

结语&思考

其实,对于普通HDFS集群,配置hive.exec.stagingdir参数是很好的选择,主要有这么几个优点:

  • 临时文件写在一个固定目录,便于管理
  • 任务失败时不会主动删除临时文件,配置指定目录能够更方便的治理废弃数据

然而,对于大型的联邦集群,带宽资源是珍贵的,我们应该尽量减少跨联邦的数据交换,这个时候,保持原本的配置显然就不太合理了,让任务在执行时临时数据写在本联邦下可能是更好的选择,当然这带来的问题就是更高的管理成本,以及定期的失败任务临时目录治理需求

http://www.dtcms.com/wzjs/329045.html

相关文章:

  • b2b还是自己做网站平台推广策划方案
  • 绚丽网站模板网络营销课程大概学什么内容
  • 怎么做独立网站百度关键词推广2元一天
  • 十堰网站开发常见的网络直接营销有哪些
  • 创办免费企业网站站长工具同大全站
  • 大连网站制作的公司中国搜索引擎大全
  • 游戏网站做关键字最近新闻摘抄
  • 广州商城网站建设报价人大常委会委员长
  • 国贸行业的网站建设免费的拓客平台有哪些
  • 简述网站开发的三层架构百度爱采购服务商查询
  • 爱做片视频网站太原百度seo排名软件
  • 凉州区住房和城乡建设局网站seopeixun com cn
  • 怎么做云购网站吗郑州网络推广平台有哪些
  • 专题网站搭建新手如何找cps推广渠道
  • 查找网站域名淘宝店铺推广
  • 网站增加域名备案专业seo培训学校
  • 七号技师 wordpressseo关键词快速排名
  • 织梦系统网站如何创建网址
  • 怎么做个手机版的网站sem专员
  • 网站建设实训个人总结常州谷歌推广
  • 申报城市维护建设税上哪个网站小红书推广运营
  • wordpress 图片环绕北京关键词优化报价
  • 源码网站取名网站被禁用如何解决
  • css 网站根目录安卓优化大师官方版本下载
  • 建个网站 做ib代理百度自媒体注册入口
  • 新手学做百度联盟网站长尾关键词快速排名软件
  • 网站建设公司上海做网站公司排名百度网盘客服人工电话
  • 中山住房和建设局工程交易网站社群营销策略有哪些
  • wordpress文章页的三大标签seo辅助工具
  • 网络销售型网站有哪些内容图片外链上传网站