`
zhao_rock
  • 浏览: 190180 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

记一次Spark集群查询速度变慢的问题调查

阅读更多

现象:针对某张表(下文中用A表代替)的查询速度慢了6s

 

 

 

简单介绍一下系统的架构:Spark + Tachyon + glusterfs+mesos,其中glusterfs负责tachyon数据的持久化,Sparktachyon上加载数据,mesos负责Spark任务调度

 

通过对比分析Spark:4040页面提供的任务执行信息发现,A表的Spark任务中,出现了Locality LevelANY的,这导致后三个任务的起始时间延迟6s,如图.

 

 

简单介绍一下SparkLocality Level

   PROCESS_LOCAL: 是指读取缓存在本地节点的数据

 NODE_LOCAL: 是指读取本地节点硬盘数据

   ANY: 是指读取非本地节点数据

 运行速度上由快到慢 PROCESS_LOCAL > NODE_LOCAL > ANY

 

1.5版本的Spark中引入了两个新的级别NO_PREF RACK_LOCAL

http://spark.apache.org/docs/latest/tuning.html#data-locality

 

书归正传,以上可以分析出,A表是由于Spark任务中出现了读取非本地节点数据导致的。接下来去Tachyonweb页面中看看能否查出蛛丝马迹,进入到A表的Tachyon文件目录层,

发现有的文件分布在node56上,如下图

 

 

原因:由此想起了,在数据导入后我们对mesos集群进行了重新划分,node56只被划分为mesos-master

这就导致node56上的数据需要被其它的mesos-slave跨节点copy数据,由此产生了Locality Level中的any

导致查询速度显著变慢

 

注意: 对集群规模和角色的划分一定要在调整前,考虑到各个方面

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 31.2 KB
  • 大小: 90.3 KB
1
1
分享到:
评论

相关推荐

    Spark集群及开发环境搭建(完整版)

    ### Spark集群及开发环境搭建(完整版) #### 一、软件及下载 本文档提供了详细的步骤来指导初学者搭建Spark集群及其开发环境。首先需要准备的软件包括: - **VirtualBox-5.1**:虚拟机软件,用于安装CentOS操作...

    Intellij IDEA连接Spark集群

    这里需要注意的是,`scala.version` 和 `hadoop.version` 以及 Spark 的版本号应该与集群中的版本保持一致,避免因版本不兼容而导致的问题。 ##### 4. 设置 Scala 版本 通过 `File -> Project Structure -> ...

    spark-集群与大数据处理

    Spark是Apache软件基金会旗下的开源大数据...从技术层面而言,它解决了大数据处理中的许多关键问题,包括数据处理速度、系统的容错能力以及扩展性等,为大数据科学家、工程师和研究人员提供了一个强大而灵活的工具集。

    Spark集群环境搭建

    Spark集群环境搭建是大数据处理的重要组件之一,通过搭建Spark集群,可以实现大规模数据处理和分析。本文将介绍Spark集群环境搭建的详细步骤,包括集群规划、前置条件、Spark集群搭建、启动集群、验证集群高可用等。...

    基于Linux平台下的Hadoop和Spark集群搭建研究.pdf

    "基于Linux平台下的Hadoop和Spark集群搭建研究" 本文主要研究了基于Linux平台下的Hadoop和Spark集群搭建,旨在提高计算速率和数据性能。Hadoop是最流行的处理平台,主要解决了数据存储和分布式计算的问题,而Spark...

    spark集群安装部署与初步开发

    ### Spark集群安装部署与初步开发知识点详述 #### 一、Spark概述 - **定义**:Spark是一款基于内存计算的大数据并行计算框架,旨在提供高效的数据处理能力。 - **特性**: - **内存计算**:利用内存提高数据处理...

    Linux安装Spark集群

    Linux安装Spark集群 Spark可以在只安装了JDK、scala的机器上直接单机安装,但是这样的话只能使用单机模式运行不涉及分布式运算和分布式存储的代码,例如可以单机安装Spark,单机运行计算圆周率的Spark程序。...

    spark 分布式集群搭建

    Spark Standalone 是 Apache Spark 提供的一种自带的集群管理模式,主要用于管理 Spark 应用程序的执行环境。这种模式简单易用,适合于开发测试以及中小型生产环境。 #### Spark Standalone 部署配置 ##### ...

    实时计算框架:Spark集群搭建与入门案例.docx

    实时计算框架Spark是一种高效的大规模数据处理工具,其核心特性在于内存计算,使得数据处理速度比传统的MapReduce有了显著提升。Spark通过DAG(有向无环图)执行引擎优化了计算流程,支持多种计算模式,包括批处理、...

    Spark2.4.3集群部署

    "Spark2.4.3集群部署知识点" Spark2.4.3集群部署是将Spark集群安装到多台机器上,以达到分布式计算和大规模数据处理的目的。下面是Spark2.4.3集群部署的详细知识点: 1. Master 节点配置 Master 节点是Spark集群的...

    Spark分布式集群安装部署 .doc

    Spark 集群安装部署是 Spark 的一个重要组成部分,它可以帮助用户快速部署 Spark 集群,并对其进行管理和维护。 Spark 分布式集群安装部署的主要内容包括: 1. 安装 Spark 集群:在安装 Spark 集群之前,需要先...

    2.5.Spark集群环境搭建1

    Spark 集群环境可以大大提高数据处理的速度和效率。为了搭建 Spark 集群环境,我们需要至少两台虚拟机,一台作为 master 节点,另一台作为 slave 节点。 搭建 Spark 集群环境的步骤 在搭建 Spark 集群环境时,我们...

    Hadoop及Spark集群搭建文档

    Spark是一个快速、通用且可扩展的数据处理引擎,支持批处理、交互式查询、流处理和机器学习。与Hadoop结合,Spark可以通过YARN进行资源调度。 1. 安装Spark:同样从Apache官网下载与Hadoop版本兼容的Spark。 2. 配置...

    使用docker快速搭建Spark集群的方法教程

    通过使用 Docker,可以快速的在本地搭建一套 Spark 环境,方便大家开发 Spark 应用,或者扩展到...下面这篇文章主要给大家介绍了使用docker快速搭建Spark集群的方法教程,需要的朋友可以参考借鉴,下面来一起看看吧。

    使用vm搭建Spark集群

    使用vm搭建Spark集群

    Python-一个用于启动ApacheSpark集群的命令行工具

    标题中的“Python-一个用于启动ApacheSpark集群的命令行工具”指的是使用Python语言开发的一款工具,它能够帮助用户便捷地启动、管理和操作Apache Spark集群。Apache Spark是一个强大的分布式计算框架,广泛应用于大...

    spark集群部署及入门.docx

    Spark 集群部署是大数据处理和分析的关键组件之一,本文档旨在指导 Spark 入门级人员了解 Spark 集群的部署和环境测试。 硬件环境 在部署 Spark 集群之前,需要具备一定的硬件环境,包括: * I5 core 双核四线程 ...

Global site tag (gtag.js) - Google Analytics