Spark集群硬件配置参考
2017-10-18 17:53
381 查看
Spark集群硬件配置参考
标签(空格分隔): Spark硬件配置
Spark开发人员面临的最常见一个问题就是集群的配置硬件。一般来说,合理的硬件配置取决于自身的实际情况,我们只能从以下几个方面提出建议。存储系统
大部分的Spark作业会从外部存储系统(比如Hadoop文件系统或者Hbase)读取输入数据,因此将其与存储系统放得越近越好,我们给出如下建议:如果可能的话,在与HDFS相同的节点上运行Spark。最简单的方法是在相同的节点上安装Spark standalone模式集群,并配置Spark和Hadoop的内存和CPU,以避免干扰 (对于Hadoop来说,相关的选项是:每个任务的内存配置是
mapred.child.java.opts,任务数的配置是
mapred.tasktracker.map.tasks.maximum和
mapred.tasktracker.reduce.tasks.maximum)。你也可以在集群管理器上运行Hadoop和Spark,比如Mesos或Hadoop YARN。
如果这个没办法实现,那么Spark集群要与HDFS在同一局域网。
对于像HBase这样的低延迟数据存储,在不同的节点上运行计算作业可能比存储系统更容易,以避免干扰。
本地磁盘
虽然Spark很多计算都在内存中进行,但当数据在内存中装不下的时候,它仍然使用本地磁盘来存储数据,以及在不同阶段之间保留中间的输出也需要磁盘存储。我们建议每个节点有4-8个磁盘,不做RAID(就像单独的挂载点一样)。在Linux中,用noatime选项挂载磁盘,以减少不必要的写操作。在Spark中,将多个挂载的磁盘配置在spark.local.dir变量中,用逗号分隔。如果你正在运行HDFS,那么可以使用与HDFS相同的磁盘。
内存
一般来说,每台机器上8GB到几百GB的内存,Spark都可以运行的很好。如果考虑所有情况,我们建议在Spark中最多分配75%的内存,剩下的部分留给操作系统和缓冲区缓存。需要多少内存取决于你的应用程序。想要确定你的应用程序在某个数据集下对内存的使用情况,将数据集的一部分加载到RDD中,并使用Spark的监视UI(
http://<driver-node>:4040)的Storage选项卡来查看内存使用情况。需要注意一点,内存使用情况受存储等级和序列化格式的影响很大,请参阅有关如何减少它的提示的调优指南。
最后请注意,内存超过200GB时,Java虚拟机运行状况并不是总是那么良好。如果你购买的机器内存很大,超过了200G,那么可以在每个节点上运行多个Worker。在Spark的Standalone模式中,你可以使用
conf/spark-env.sh中通过
SPARK_WORKER_INSTANCES变量来配置每个节点的worker数量,用
SPARK_WORKER_CORES配置每个worker的CPU核心数目。
网络
根据我们的经验,当数据在内存中时,很多Spark应用程序都是和网络紧密相关的。使用10千兆或更高的网络是使这些应用程序更快的最好的方法。这对于“分布式reduce”应用程序尤其适用,比如group-by操作、
reduce-by操作和
SQL join。在任何给定的应用程序中,您都可以看到从应用程序的监视UI(
http://<driver-node>:4040)中看到网络中有多大量的shuffle数据。
CPU核心数目
Spark在每台机器上可以扩展到数十个CPU内核,因为它在线程之间最小共享。在每台机器上至少提供8-16个内核。根据工作负载的CPU消耗,可能还需要更多:一旦数据在内存中,大多数应用程序要么是CPU相关,要么是网络相关。翻译原文地址:http://spark.apache.org/docs/1.6.3/hardware-provisioning.html
相关文章推荐
- spark集群部署-硬件配置官方建议
- 【Spark学习】Apache Spark集群硬件配置要求
- Spark集群硬件配置
- spark集群部署-硬件配置官方建议
- Spark集群master节点实现HA配置
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-配置Hadoop单机模式并运行Wordcount(1)
- 和硬件加速配置有关的参考
- spark history server集群配置与使用(解决执行spark任务之后没有显示的问题)
- Hadoop+Hbase+Spark集群配置—前期准备(免密和jdk配置)
- Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境
- Spark1.0.0 集群配置
- Hadoop集群硬件配置
- Spark2.0.1 on yarn with hue 集群搭建部署(一)基础环境配置
- Hadoop集群硬件标准配置
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-配置Hadoop伪分布模式并运行Wordcount示例(1)
- Hadoop+Hbase+Spark集群配置—Hadoop HA安装
- Spark集群硬件挑选
- 服务器硬件知识普及篇(需要配置服务器的朋友可以参考)
- 在Hadoop YARN之上配置Spark集群(二)
- 配置Spark standalone集群启动