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)

相关推荐

  • 图书馆英语怎么写,怎样写图书馆的规则,英语)

    技术图书馆英语怎么写,怎样写图书馆的规则,英语)图书馆的规则.英语图书馆英语怎么写:1) Be quiet all time.2) Keep your voice low when you talk to others.

    生活 2021年10月21日
  • 第七章 数据库 附件-MySQL的安装与使用

    技术第七章 数据库 附件-MySQL的安装与使用 第七章 数据库 附件-MySQL的安装与使用一、MySQL安装与使用
    1、服务端
    1.1、服务端-安装步骤1. 安装文件 mysql-5.5.62-wi

    礼包 2021年12月5日
  • jdbc使用过程中常见的问题(简述6步实现jdbc的操作)

    技术如何进行JDBC的实例分析如何进行JDBC的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JDBC例子1,首先在配置文件(sys

    攻略 2021年12月18日
  • Redis中sentinel故障转移的示例分析

    技术Redis中sentinel故障转移的示例分析这篇文章主要为大家展示了“Redis中sentinel故障转移的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Red

    攻略 2021年10月28日
  • 怎样使SQL用户只能看到自己拥有权限的库

    技术怎样使SQL用户只能看到自己拥有权限的库怎样使SQL用户只能看到自己拥有权限的库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。以SQL Server 2

    攻略 2021年12月1日
  • 荸荠怎么煮,荸荠要煮多久 煮荸荠的方法

    技术荸荠怎么煮,荸荠要煮多久 煮荸荠的方法荸荠既可以生吃荸荠怎么煮,也可以煮熟了吃,所以要看个人喜欢什么样的口感来确定煮的软脆。如果你喜欢脆脆的感觉,那么煮10几分钟就好了。如果喜欢软一点的,就要煮半小时以上了。 荸荠既

    生活 2021年10月25日