1.在windows中spark的本地模式如何配置
2.Spark on Yarn 为ä»ä¹åºç°å
åè¶
çcontainer被kill
在windows中spark的本地模式如何配置
1、在Spark中采用本地模式启动pyspark的命令主要包含以下参数:master:这个参数表示当前的pyspark要连接到哪个master,如果是local[*],就是action 依赖注入源码使用本地模式启动pyspark,其中,中括号内的做源码教程星号表示需要使用几个CPU核心(core)。2、肯定第一步是配置spark环境:包括linux系统的安装,java,ssh,Hadoop,Scala,spark的asp收银源码安装与环境变量设置。虽说简单,但对于初学者说,尤其是mui影视源码没有使用过linux系统的,还是有些挑战。其中遗漏一些细节问题,都会出错。盗站源码
3、SparkonYarn模式备注:Yarn的连接信息在Hadoop客户端的配置文件中指定。通过spark-env.sh中的环境变量HADOOPCONFDIR指定Hadoop配置文件路径。
4、最后的PhysicalPlanexecution阶段用Spark代替HadoopMapReduce。通过配置Shark参数,Shark可以自动在内存中缓存特定的RDD,实现数据重用,进而加快特定数据集的检索。
Spark on Yarn 为ä»ä¹åºç°å åè¶ çcontainer被kill
ä¸ä¸ªExecutor对åºä¸ä¸ªJVMè¿ç¨ã ä»Sparkçè§åº¦çï¼Executorå ç¨çå åå为两é¨åï¼ ExecutorMemory å MemoryOverhead ãå ¶ä¸ï¼ ExecutorMemory 为JVMè¿ç¨çJavaå åºåï¼ MemoryOverhead 为JVMè¿ç¨ä¸é¤Javaå 以å¤å ç¨ç空é´å¤§å°ï¼å æ¬æ¹æ³åºï¼æ°¸ä¹ 代ï¼ãJavaèææºæ ãæ¬å°æ¹æ³æ ãJVMè¿ç¨æ¬èº«æç¨çå åãå å¤å åï¼Direct Memoryï¼çã
spark.driver.memory å spark.executor.memory åå«è®¾ç½®SparkçDriveråExecutorç ExecutorMemory .
spark.yarn.executor.memoryOverhead å spark.yarn.driver.memoryOverhead åå«è®¾ç½®SparkçDriveråExecutorç MemoryOverhead .
å¦å¤ï¼Sparkä¼å¤§éåé å å¤å åï¼å å¤å åé»è®¤æ大å¯ä»¥å ExecutorMemory ä¸æ ·ï¼å¯ä»¥éè¿javaOptionsä½¿ç¨ MaxDirectMemorySize é ç½®æ大å¼ã
å å¤å åæ大å¯ä»¥å ExecutorMemory ä¸æ ·ï¼ä½æ¯å å¤å ååå MemoryOverhead éå¶ï¼æä»¥å½ MaxDirectMemorySize , ExecutorMemory å MemoryOverhead 设置ä¸åçæ¶ï¼ä¼åºç°containerå åè¶ éï¼è¢«Yarn killçæ åµã
æ¯å¦ï¼ ExecutorMemory 为8Gï¼ MemoryOverhead 为4Gï¼ MaxDirectMemorySize 没æ设置ï¼æ¤æ¶yarn认为ä¸ä¸ªcontaineræ大å¯ä»¥ä½¿ç¨Gå åï¼ä½æ¯å å¤å åæ大å¯ä»¥ä½¿ç¨8Gï¼å¯¼è´containeræ大å¯ä»¥ä½¿ç¨è¶ è¿Gå å(å å å å+ å å¤å å)ï¼æ¯Gå¤§ï¼ æç»è¢«Yarn killæã
åçç设置è§å为: ExecutorMemory + MemoryOverhead > ExecutorMemory + MaxDirectMemorySize
æ以ï¼Sparkåºç¨å ç¨é群å åçæ»å¤§å°ä¸º:
åæ°è°ä¼å»ºè®®ï¼
æ¯ä¸ªExecutorè¿ç¨çå å设置4G~8Gè¾ä¸ºåéã
æ¯ä¸ªExecutorçCPU coreæ°é设置为2~4个è¾ä¸ºåéã
以ä¸æ¯é¨å建议çåæ°è®¾ç½®: