首页 文章 精选 留言 我的

精选列表

搜索[文档数据库],共10027篇文章
优秀的个人博客,低调大师

《Spark 官方文档》硬件配置

硬件配置 Spark开发者们常常被问到的一个问题就是:如何为Spark配置硬件。我们通常会给出以下的建议,但具体的硬件配置还依赖于实际的使用情况。 存储系统 因为绝大多数Spark作业都很可能是从外部存储系统加载输入数据(如:HDFS或者HBase),所以最好把Spark部署在离这些存储比较近的地方。建议如下: 只要有可能,就尽量在HDFS相同的节点上部署Spark。最简单的方式就是,在HDFS相同的节点上独立部署Spark(standalone mode cluster),并配置好Spark和Hadoop的内存和CPU占用,以避免互相干扰(对Hadoop来说,相关的选项有 mapred.child.java.opts – 配置单个任务的内存,mapred.tasktracker.map.tasks.maximun和mapred.tasktracker.reduce.tasks.maximum – 配置任务个数)。当然,你也可以在一些通用的集群管理器上同时运行Hadoop和Spark,如:Mesos或Hadoop YARN。 如果不能将Spark和HDFS放在一起,那么至少要将它们部署到同一局域网的节点中。 对于像HBase这类低延迟数据存储来说,比起一味地避免存储系统的互相干扰,更需要关注的是将计算分布到不同节点上去。 本地磁盘 虽然大部分情况下,Spark都是在内存里做计算,但它仍会使用本地磁盘存储数据,如:存储无法装载进内存的RDD数据,存储各个阶段(stage)输出的临时文件。因此,我们建议每个节点上用4~8块磁盘,非磁盘阵列方式挂载(只需分开使用单独挂载点即可)。在Linux中,挂载磁盘时使用noatimeoption可以减少不必要的写操作。在Spark中,配置(configure)spark.local.dir 属性可指定Spark使用的本地磁盘目录,其值可以是逗号分隔的列表以指定多个磁盘目录。如果该节点上也有HDFS目录,可以和HDFS共用同一个块磁盘。 内存 一般来说,Spark可以在8GB~几百GB内存的机器上运行得很好。不过,我们还是建议最多给Spark分配75%的内存,剩下的内存留给操作系统和系统缓存。 每次计算具体需要多少内存,取决于你的应用程序。如需评估你的应用程序在使用某个数据集时会占用多少内存,可以尝试先加载一部分数据集,然后在Spark的监控UI(http://<driver-node>:4040)上查看其占用内存大小。需要注意的是,内存占用很大程度受存储级别和序列化格式影响 – 更多内存优化建议,请参考调优指南(tuning guide)。 最后,还需要注意的是,Java虚拟机在200GB以上内存的机器上并非总是表现良好。如果你的单机内存大于200GB,建议在单个节点上启动多个worker JVM。在Spark独立部署模式下(standalone mode),你可在conf/spark-env.sh 中设置 SPARK_WORKER_INSTANCES 来配置单节点上worker个数,而且在该文件中你还可以通过 SPARK_WORKER_CORES 设置单个worker占用的CPU core个数。 网络 以我们的经验来说,如果数据能加载进内存,那么多数Spark应用的瓶颈都是网络带宽。对这类应用,使用万兆网(10 Gigabit)或者更强的网络是最好的优化方式。对于一些包含有分布式归约相关算子(distributed reduce相关算子,如:group-by系列,reduce-by系列以及SQL join系列)的应用尤其是如此。对于任何一个应用,你可以在监控UI(http://<driver-node>:4040)上查看Spark混洗跨网络传输了多少数据量。 CPU Cores Spark在单机几十个CPU的机器上也能表现良好,因为Spark尽量减少了线程间共享的数据。但一般你至少需要单机8~16个CPU cores。当然,根据具体的计算量你可能需要更多的CPU,但是:一旦数据加载进内存,绝大多数应用的瓶颈要么是CPU,要么是网络。 转载自并发编程网 - ifeve.com

优秀的个人博客,低调大师

《Flink官方文档》示例总览

示例 Java 的示例项目和Scala 的示例项目指导了构建Maven和SBT项目,并包含了一个单词计数程序的简单实现。 监控Wikipedia编辑是一个更复杂的流式分析应用 用Apache Flink、Elasticsearch和Kibana构建实时面板应用是发布在elastic.co上的一个博客,展示了如何用Apache Flink、Elasticsearch和Kibana去构建实时面板来解决流数据分析。 捆绑示例 Flink 资源包含了很多流式(java/scala) 和批处理(java/scala)的示例。这些介绍说明了这些示例如何运行。 转载自 并发编程网 - ifeve.com

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册