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)

相关推荐

  • 2月2龙抬头吃什么,农历二月初二为什么不能吃面条?

    技术2月2龙抬头吃什么,农历二月初二为什么不能吃面条?俗称二月二“龙抬头”2月2龙抬头吃什么。这一天传统习俗活动很多: 天亮之前用黄豆炒“料豆”,又称炒“蝎子爪”,有甜的,有威的,传说吃了料豆当年不遭蝎子蜇。 撒青灰。沿

    生活 2021年10月27日
  • .NET Core 部署IIS无法启动Hangfire该怎么办

    技术.NET Core 部署IIS无法启动Hangfire该怎么办本篇文章为大家展示了.NET Core 部署IIS无法启动Hangfire该怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希

    攻略 2021年11月18日
  • 深入理解C++11-附录B

    技术深入理解C++11-附录B 深入理解C++11-附录B深入理解C++11
    附录B
    弃用的特征
    1.auto:
    可在任何需要声明变量类型的上文中使用,但不能声明函数参数(因为重载的原因,不能这么使用)

    礼包 2021年11月23日
  • mysql中pt-online-schema-change怎么用

    技术mysql中pt-online-schema-change怎么用这篇文章主要介绍了mysql中pt-online-schema-change怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后

    攻略 2021年11月2日
  • 抖音粉丝怎么涨,抖音如何涨粉?

    技术抖音粉丝怎么涨,抖音如何涨粉?不得不说,在抖音上一切皆有可能,甚至很多人莫名其妙就火了,自己也是猝不及防。随着越来越多的网红的出现,许多人都纷纷加入抖音行列,希望一夜爆红,但是又往往事与愿违,有没有好一点的涨粉套路,

    测评 2021年10月20日
  • JVM类加载机制是怎么样的

    技术JVM类加载机制是怎么样的本篇文章为大家展示了JVM类加载机制是怎么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. java类加载运行过程 加载:加载字

    攻略 2021年10月23日