Trino大量查询会导致HDFS namenode主备频繁切换吗?

2024-09-02 18:28

本文主要是介绍Trino大量查询会导致HDFS namenode主备频繁切换吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

会,且肯定会

一、背景
今天还没起床就被智能运维叫醒了,说通过namenode审计日志查看访问源ip有我们的trino集群,并且访问量比较大,起床气范了,这不很正常吗,早上一般都是跑批高峰,也不一定是我们trino的问题,必须按时上班。
到了工位联系运维,被告知也不一定是我们的trino引起的namenode主备节点切换,因为那个时间段,有很多系统会访问大数据平台,不管怎样,既然有警告就得排查,秉承认真负责的态度去查看了日志,然并卵,没看出我们系统有什么问题,于是还是了解一下trino怎么取hdfs数据的流程。

二、复现问题
在测试环境,开启测试,在高并发加持下,在开始测试的3s中终于把大数据平台的测试环境的nn主备切换了,大数据平台弱爆了,实话讲我这边还没真正开始测,因为启动报错了,就被其它系统压爆了,这多半不是或者严谨的这次切换我们trino系统贡献值比较低。

三、建议你去回顾以下hdfs读写流程
此处省略一个hadoop工程师

四、尝试开启缓存或者本地缓存减少对namenode访问
以上举措均无效,无论是在hive.properties中加入cache相关的参数配置,还是开启本地缓存,缓存数据到本地worker节点,每次提交sql都会访问nn,并且访问次数一样

五、反思

  1. 确认是否缓存了元数据信息,是在哪个环节缓存了块信息,这个很重要
  2. 确认表结构设计不合理,小文件是否过多,在未给出具体的量化指标之前,要相信并且请求namenode的操作不会对namenode造成很大影响;

说了一大堆废话,如果有问题,那就把问题甩在下方评论区吧!!!

这篇关于Trino大量查询会导致HDFS namenode主备频繁切换吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130721

相关文章

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可