存储系统
Spark任务需要从一些外部的存储系统加载数据(如:HDFS 或者 HBase),重要的是存储系统要接近Spark系统,我们有如下推荐:
 
(1)如果可能,运行Spark在相同的HDFS节点,最简单的方法是建立一个引发相同的节点上的集群独立模式(http://spark.apache.org/docs/latest/spark-standalone.html),和配置Spark的Configure和Hadoop的内存和CPU使用避免干扰(对于Hadoop,) 或者 你能够运行Hadoop和Spark在一个相同的cluster manager 像 Mesos或者Hadoop YARN
(2)如果能,运行Spark在不同的节点上,需要使用相同局域网内部的HDFS节点。
(3)对于低延迟数据存储如同HBase,使用不同的节点上的数据比使用本地存储系统数据 干扰更小(但是HBase存储比本地存储避免干扰性方面表现的更好)
 
本地硬盘
虽然Spark能够在内存中执行大量的计算,它仍然需要本地硬盘作为数据的存储,不适合把数据存储在RAM中,以及保护中间的输出阶段,我们推荐每个节点有4-8个硬盘,没有配置RAID(就如同不同的挂载点) 在Linux中挂载硬盘 使用noatime option(http://www.centos.org/docs/5/html/Global_File_System/s2-manage-mountnoatime.html) 减少不必要的写操作,在Spark里面,配置 
spark.local.dir 变量以一个","号隔开(http://spark.apache.org/docs/latest/configuration.html),如果你正在运行着HDFS,它正好和HDFS放在一个相同的硬盘上。
 
内存
一般而言,Spark能够运行在任意的 8G to hundreds of gigabytes 的内存的机器上,所有情况下,我们推荐最多给Spark配置 75%的内存容量,其他的容量是系统和buffer缓存使用。
你的内存需要多大是依靠你的Application决定的,确定你的应用使用多少内存特定大小,你需要加载一部分特定的数据到Spark RDD 并使用 UI的存储选项卡(http://<driver-node>:4040)观测内存使用量。注意,内存使用量大大影响存储水平和序列化格式,看调度指南如何优化(http://spark.apache.org/docs/latest/tuning.html)。
最后,注意,Java VM在超过200 GB的RAM上并不总是表现良好。如果你这这样的RAM机器,你可以在上面多跑几个Worker,在Spark的独立模式中,你能够在每个节点上设置多个Workers ,设置 conf/spark-env.sh 中的SPARK_WORKER_INSTANCES变量,并且设置SPARK_WORKER_CORES 的核数
 
网络
 
根据经验,当数据在内存中, 使用万兆网卡程序将运行的更快,特别是“distributed reduce” application 例如 group-bys 减少,reduce-bys 和SQL的join ,在一个任何给定的application ,你能够通过UI查看Spark的shuffles的过程及多大的数据执行shuffles。
 
 
CPU 核数
 
Spark 每个每个集群要启动成千上万的线程,每个集群的核数至少是8-16 核。你的工作的负载是依靠CPU ,你也需要更多的:一旦数据在内存中,更多应用取决CPU或者带宽

【Spark】---- Spark 硬件配置的更多相关文章

  1. 【Spark学习】Apache Spark集群硬件配置要求

    Spark版本:1.1.1 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4135912.html 目录 存 ...

  2. 对Spark硬件配置的建议

    对于Spark开发人员来说,一个比较普遍的问题就是如何合理的配置Spark的硬件?当然如何合理的对Spark集群进行硬件配置要视情况而定,在这里给出以下建议: 存储系统 在大数据领域,有一句" ...

  3. Project Tungsten:让Spark将硬件性能压榨到极限(转载)

    在之前的博文中,我们回顾和总结了2014年Spark在性能提升上所做的努力.本篇博文中,我们将为你介绍性能提升的下一阶段——Tungsten.在2014年,我们目睹了Spark缔造大规模排序的新世界纪 ...

  4. Windows下Spark单机环境配置

    1. 环境配置 a)  java环境配置: JDK版本为1.7,64位: 环境变量配置如下: JAVA_HOME为JDK安装路径,例如D:\software\workSoftware\JAVA 在pa ...

  5. spark HA 安装配置和使用(spark1.2-cdh5.3)

    安装环境如下: 操作系统:CentOs 6.6 Hadoop 版本:CDH-5.3.0 Spark 版本:1.2 集群5个节点 node01~05 node01~03 为worker. node04. ...

  6. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  7. Spark log4j日志配置详解(转载)

    一.spark job日志介绍    spark中提供了log4j的方式记录日志.可以在$SPARK_HOME/conf/下,将 log4j.properties.template 文件copy为 l ...

  8. spark集群配置以及java操作spark小demo

    spark 安装 配置 使用java来操作spark spark 安装 tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz rm spark-2.4.0-bin-hadoo ...

  9. SparkR 读取数据& Spark运行的配置

    1.本地LOCAL环境安装Spark并试运行配置(在Ubuntu系统下例子) # 打开文件配置环境变量: JAVA,SCALA,SPARK,HADOOP,SBT gedit /etc/profile ...

随机推荐

  1. Linux--Ubuntu中文文件夹转英文

    前言 在安装Ubuntu的时候,如果选择的系统语言为汉语,安装完成后,Ubuntu系统的主文件夹下的几个文件目录就是中文的,这样才纯终端下,输入起来确实非常的不方便.当然,如果安装Ubuntu的时候, ...

  2. Scala 深入浅出实战经典 第67讲:Scala并发编程匿名Actor、消息传递、偏函数解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  3. ASP lable标签显示过长,自动换行。

    <asp:Label ID="lab_BeforPostR" runat="server" CssClass="labSty" Wid ...

  4. 如何在C语言中调用Swift函数

    在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中 ...

  5. ecshop登陆后价格可见,会员注册登陆才能显示价格

    打开模版文件夹里面的goods.dwt 查找{$lang.shop_price}<font class="price" id="ECS_SHOPPRICE" ...

  6. jade模板引擎学习笔记(WebsStorm9.0.3+ nodejs+express+jade)

    jade环境搭建 jade标签写法 jade注释 jade添加类名.id.属性 jade添加脚本,css jade变量 jade多行文本显示 jade流程代码:for,each,while jade流 ...

  7. osgi:设置httpservice端口号

    使用osgi开发http类的Service,在启动时默认端口是80.但有可能这个端口已经被本机上的其他程序占用.那么解决问题的方法有两种:1)关闭或修改占用程序的端口: 2)修改osgi启动时的端口. ...

  8. Quiz(贪心,快速幂乘)

    C. Quiz time limit per test 1 second memory limit per test 256 megabytes input standard input output ...

  9. c++ 模板元编程的一点体会

    趁着国庆长假快速翻了一遍传说中的.大名鼎鼎的 modern c++ design,钛合金狗眼顿时不保,已深深被其中各种模板奇技淫巧伤了身...论语言方面的深度,我看过的 c++ 书里大概只有 insi ...

  10. CM: 如何自己build一个官方版本出来,使用官方release中的manifests.xml

    This can be accomplished in one of two ways: 1) Pull the file from your device:cd /your/repo/pathadb ...