存储系统
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. Selenium3笔记-WebDriver源码初探

    Selenium3 有哪些变化? 其实相对于与Selenium2,Selenium3没有做太多的改动.下面给出官方的文档说明,供参考. 参考文档:https://seleniumhq.wordpres ...

  2. 尝试制作了一个Panorama

    照片拍的不太好, 效果如下(浏览器需要支持WebGL), 您可以用鼠标拖动浏览:   //

  3. 【Vegas原创】vlookup的使用方法

    情景: 1,当月移动话单,没有姓名,只有手机号码:(用户费用sheet) 2,IT部自己整理的手机号历史记录,有姓名,有手机号码:(历史信息sheet) 3,要求:需要从历史记录中,透视出当月所有手机 ...

  4. YAFFS2文件系统分析(转)

    http://blog.chinaunix.net/uid-25314474-id-343665.html 1.前言略. 2.yaffs 文件系统简介按理说这里应该出现一些诸如“yaffs 是一种适合 ...

  5. EXCEL 保存之前校验

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'MsgBox "开始检测数据.. ...

  6. c#如何区分静态只读变量和常量

    常量const 常量就是一个其值永远不会改变的静态字段.常量的值会在编译时自动推算,编译器会在遇到常量时,将其逐个替换为该常量的值.常量可以是C#内建的任何数字类型或枚举类型.声明一个常量的时候必须对 ...

  7. (笔记)Linux内核学习(十一)之I/O层和I/O调度机制

    一 块I/O基本概念 字符设备:按照字符流的方式被有序访问的设备.如串口.键盘等. 块设备:系统中不能随机(不需要按顺序)访问固定大小的数据片(chunk 块)的设备. 如:硬盘.软盘.CD-ROM驱 ...

  8. WeifenLuo组件中如何设置停靠窗体的宽度

    在项目中使用了WeifenLuo.WinFormsUI.Docking组件,窗体停靠效果非常棒. 现在项目出现了这样的需求,希望可以控制停靠窗体的宽度,因为默认的宽度往往会造成停靠窗体的内容显示不完全 ...

  9. iOS开发备忘录:实现多StoryBoard之间跳转

    iOS项目中可以将同一业务流程的页面归置到一个StoryBoard中,项目中必然会包含多个StroryBoard,可以利用跳转,实现项目的不同业务流程页面间的跳转切换. 实现思路: 1,项目(Proj ...

  10. 查看、关闭linux自启动网络服务

    1.查看 netstat --tulnp ..master  smtp 服务 2.关闭 /etc/init.d/服务 stop 停止 : start 启动 chkconfig 服务 off  关闭   ...