spark硬件推荐配置(spark调优最佳配置)

技术Spark调优之硬件要求有哪些这篇文章将为大家详细讲解有关Spark调优之硬件要求有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一,存储系统因为因为大多数Spark工作可能需

本文将详细解释Spark调优的硬件要求。边肖觉得挺实用的,就分享给大家参考。希望你看完这篇文章能有所收获。

一,存储系统

因为大多数Spark作业可能需要从外部存储系统(如Hadoop文件系统或HBase)读取输入数据,所以尽可能靠近系统非常重要。因此,有以下建议:

1、如果可能,在与HDFS相同的节点上运行Spark。最简单的方法就是在同一个节点上安装spark的Standalone集群和hadoop集群,配置Spark和hadoop的内存使用,避免相互干扰(对于hadoop,每个任务的内存配置参数为mapred . child . Java . opts;MapReduce . task tracker . map . task . max和MapReduce . task tracker . reduce . tasks . max决定任务数)。Hadoop和spark也可以在一个通用的集群管理器上运行,比如mesos和yarn。

2.如果不可能,请在与HDFS相同的局域网中的不同节点上运行Spark。

3.对于低延迟的数据存储(如HBase),可以优先在不同于存储系统的节点上运行计算任务,以避免干扰。

二,本地磁盘

虽然Spark可以在内存中执行大量计算,但它仍然使用本地磁盘来存储不适合RAM的数据,以及阶段之间的中间结果,即shuffle。我们建议每个节点至少有4-8个磁盘,不需要RAID,只需要独立的磁盘挂在节点上即可。在Linux中,安装带有noatime选项的磁盘,以减少不必要的写入。在spark任务中,spark.local.dir可以配置十多个磁盘目录,用逗号分隔。如果你在hdfs上运行,最好与hdfs保持一致。

安装带有noatime选项的磁盘需要在装载文件系统时指定标准Linux安装选项(noatime),这将禁用文件系统上的atime更新。磁盘挂起命令:

装载点-无时间

BlockDevice指定GFS文件系统所在的数据块设备。

Mount指定应该安装GFS文件系统的目录。

示例:

mount-t GFS/dev/vg01/lvol0/GFS 1-o noa time

三,内存

单机内存从8GB到几百GB不等,spark可以很好的运行。在所有情况下,我们建议最多只为Spark分配75%的内存;保留操作系统和缓冲区缓存的其余部分。

你需要多少内存取决于你的应用。为了确定应用程序的特定数据集需要多少内存,请将一些数据集加载到内存中,然后在火花用户界面的存储界面中检查其内存使用情况。

请注意,内存使用受存储级别和序列化格式的影响很大-有关如何减少内存使用的提示,请参见另一篇调优文章。

最后,请注意,对于内存超过200GB的机器,JAVA虚拟机的运行状态并不总是表现良好。如果您购买的机器的内存超过200GB,您可以在一个节点上运行多个worker。在Spark Standalone模式下,可以在配置文件conf/spark-env.sh中设置SPARK_WORKER_INSTANCES的值,以设置单节点工作人员的数量。您也可以设置SPARK_WORKER_CORES参数来设置每个工作者的CPU数量。

四,网络

根据以往的经验,如果数据在内存中,spark应用的瓶颈往往在于网络。使用10gb或更高的网络是让spark应用程序运行得越来越快的最佳方式。尤其是对于“分布式归约”应用程序,如group-by、reduce-by和sql联接,这一点更为明显。在任何给定的应用程序中,您都可以通过spark ui检查spark shuffle进程通过网络传输了多少数据。

五,cpu

即使每台机器有几十个CPU,spark也可以很好地扩展,因为它执行线程中最小的共享CPU。您应该为每台机器配置至少8-16个内核。取决于cpu负载,可能需要更多的cpu:一旦数据在内存中,大多数应用程序的瓶颈就在于CPU和内存。

我希望这篇关于“Spark调优的硬件要求是什么”的文章能在这里分享。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/148263.html

(0)

相关推荐

  • 怎么理解php包装迭代器

    技术怎么理解php包装迭代器本篇内容介绍了“怎么理解php包装迭代器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、本

    攻略 2021年10月22日
  • 动词的过去分词,英语常见的动词过去式和过去分词!

    技术动词的过去分词,英语常见的动词过去式和过去分词!常用动词过去式及过去分词 规则动词的过去式及过去分词:(1)直接加ed(e结尾单词直接加d)(2)双写最后一个字母加ed(3)辅音字母加y结尾的去y加ied(1)直接加

    生活 2021年10月20日
  • 怎么让女朋友开心,怎么样做才能让女朋友开心

    技术怎么让女朋友开心,怎么样做才能让女朋友开心感谢悟空问答栏目组的邀请怎么让女朋友开心!怎么样做才能让女朋友开心?首先肯定~心里思考这个问题的人,说明你对她的重视程度之深~也看出你是一个很有爱心感情很专注的男孩~你很爱你

    生活 2021年10月26日
  • Go语言基本数据类型有哪些

    技术Go语言基本数据类型有哪些这篇文章主要介绍“Go语言基本数据类型有哪些”,在日常操作中,相信很多人在Go语言基本数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言基本

    攻略 2021年11月4日
  • mysql中timestamp比较查询遇到的坑有哪些

    技术mysql中timestamp比较查询遇到的坑有哪些这篇文章主要介绍mysql中timestamp比较查询遇到的坑有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!timestamp比较查询

    攻略 2021年11月25日
  • spring oauth2 +springboot sso的案例分析

    技术spring oauth2 +springboot sso的案例分析本篇内容主要讲解“spring oauth2 +springboot sso的案例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性

    攻略 2021年11月16日