Spark on Yarn遇到的问题及解决思路】的更多相关文章

原文:http://www.aboutyun.com/thread-9425-1-1.html 问题导读1.Connection Refused可能原因是什么?2.如何判断内存溢出,该如何解决?扩展:3.你认为/etc/hosts配置错误,会对集群有什么影响? 1 概述     Spark的on Yarn模式,其资源分配是交给Yarn的ResourceManager来进行管理的,但是目前的Spark版本,Application日志的查看,只能通过Yarn的yarn logs命令实现.     在…
组件:cdh5.14.0 spark是自己编译的spark2.1.0-cdh5.14.0 第一步:确认spark-defaults.conf中添加了如下配置: spark.shuffle.service.enabled true //启用External shuffle Service服务 spark.shuffle.service.port //Shuffle Service服务端口,必须和yarn-site中的一致 spark.dynamicAllocation.enabled true /…
问题描述: spark.SparkContext: Created broadcast 0 from textFile at WordCount.scala:37 Exception in thread "main" java.lang.RuntimeException: Error in configuring object ......... //往下N多行 Caused by: java.lang.ClassNotFoundException: Class com.hadoop.…
今天测试过程中发现YARN Node变成Unhealthy了,后来定位到硬盘空间不够..... 通过查找大于100M的文件时发现有N多个spark-assembly-1.4.0-SNAPSHOT-hadoop2.5.0-cdh5.3.1.jar包,大小为170多M, 每提交一个application到yarn上执行,就会上传一个assembly包,application个数一多,磁盘就本占用了N多空间.... 解决方法参见[Spark On Yarn中spark.yarn.jar属性的使用]…
本文转自:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 此文解决了Spark yarn-cluster模式运行时,内存不足的问题. Spark yarn-cluster模式运行时,注意yarn.app.mapreduce.am.resource.mb的设置.默认为1G Spark On YARN内存分配 本文主要了解Spark On YARN部署模式下的内存分配情况,因为没有…
1 贴出完整日志信息 // :: INFO client.RMProxy: Connecting to ResourceManager at hdp1/ // :: INFO yarn.Client: Requesting a new application from cluster with NodeManagers // :: INFO yarn.Client: Verifying our application has not requested MB per container) //…
一.客户端进行操作 1.根据yarnConf来初始化yarnClient,并启动yarnClient2.创建客户端Application,并获取Application的ID,进一步判断集群中的资源是否满足executor和ApplicationMaster申请的资源,如果不满足则抛出IllegalArgumentException:3.设置资源.环境变量:其中包括了设置Application的Staging目录.准备本地资源(jar文件.log4j.properties).设置Applicati…
一:目标 1.目标 在yarn的8080页面可以跳转到spark的日志18080页面. 因为在运行spark之后,看对应的job的日志,这样直接连接,更合理直接. 2.总结 在后面可以看到,其实不需要启动mr-history的. 因为这个是手机mapreduce的日志的,同时,只要8088的页面,在这个页面点history朝着18080跳转即可. 二:操作步骤 1.先开启服务 yarn,hdfs,spark 2.运行程序 3.在yarn上无法观察history 4.因为没有开启服务 1. MR的…
1.Spark on Yarn下JVM的OOM问题及解决方式 2.Spark中Driver的Stack Overflow的问题及解决方式 Spark on Yarn cluster mode: 此时有可能会报OOM的错误,具体来说: 由于Client模式下一定没有出现OOM,而在Cluster模式下一定出现了OOM,所以必然说明OOM是Driver导致的! Driver在Client和Cluster模式下占用的内存都是一致的,例如都是100M,现在的问题是为什么在Client下的100M不会OO…
先抛出问题:Spark on Yarn有cluster和client两种模式,它们有什么区别? 用Jupyter写Spark时,只能使用client模式,为什么? 写一篇文章,搞清楚 Spark on Yarn 的运行原理,同时回答上面的问题. 首先,把Spark和Yarn当做两个独立概念来看.单看Spark,不去管它底层依赖的存储结构,本质上讲,它就是个分布式计算的程序.程序的入口是一个叫做 SparkContext 的对象,也可以抽象地称为Driver,启动了 SparkContext 后,…
说白了 Spark on YARN模式的安装,它是非常的简单,只需要下载编译好Spark安装包,在一台带有Hadoop YARN客户端的的机器上运行即可.  Spark on YARN简介与运行wordcount(master.slave1和slave2)(博主推荐) Spark on YARN分为两种: YARN cluster(YARN standalone,0.9版本以前)和 YARN client.    如果需要返回数据到client就用YARN client模式. 如果数据存储到hd…
不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPARK_WORKER_MERMORY=1g  (在spark-env.sh) export JAVA_HOME=/usr/local/jdk/jdk1..0_60 (必须写) export SCALA_HOME=/usr/local/scala/scala- (必须写) export HADOOP_H…
Spark on Yarn模式运行错误: bin/spark-shell --master yarn --deploy-mode client #报错 ​ 查看8088页面上的工作日志 错误原因:在执行任务时检测到虚拟机的内存太小,2.2g的虚拟内存实际值,超过了2.1g的上限,不能满足该任务所需的内存要求,于是Yarn就干掉了执行此任务的contrainer. 解决办法: 在yarn-site.xml文件中加入以下两项配置: <property> <name>yarn.nodem…
1.spark 2.2内存占用计算公式 https://blog.csdn.net/lingbo229/article/details/80914283 2.spark on yarn内存分配** 本文转自:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 此文解决了Spark yarn-cluster模式运行时,内存不足的问题. Spark yarn-cluster模式运行时,…
问题:1. spark中yarn集群资源管理器,container资源容器与集群各节点node,spark应用(application),spark作业(job),阶段(stage),任务(task)之间的关系.2. 在yarn集群资源管理器下,提交一个spark应用之后,经过怎样的资源分配,最后为每个节点每个task分配具体内存资源,让其执行具体计算任务.需要详细分析其中的过程.1)资源管理器怎么合理分配分布式集群内存资源,各个节点又是如何具体为task分配内存.***2)当集群各节点内存资源…
无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode 2706 Jps 2372 ResourceManager 2660 Master 2203 SecondaryNameNode [spark@master spark-1.6.1-bin-hadoop2.6]$ $SPARK_HOME/bin/spark-submit \ > --master y…
spark用yarn提交任务会报ERROR cluster.YarnClientSchedulerBackend: YARN application has exited unexpectedly with state UNDEFINED! Check the YARN application logs for more details.ERROR cluster.YarnClientSchedulerBackend: Diagnostics message: Shutdown hook cal…
不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPARK_WORKER_MERMORY=1g  (在spark-env.sh) export JAVA_HOME=/usr/local/jdk/jdk1.8.0_60 (必须写) export SCALA_HOME=/usr/local/scala/scala-2.10.5 (必须写) export H…
本文旨在解析 spark on Yarn 的内存管理,使得 spark 调优思路更加清晰 内存相关参数 spark 是基于内存的计算,spark 调优大部分是针对内存的,了解 spark 内存参数有也助于我们理解 spark 内存管理 spark.driver.memory:默认 512M spark.executor.memory:默认 512M spark.yarn.am.memory:默认 512M spark.yarn.driver.memoryOverhead:driver memor…
spark on yarn 的执行过程在 yarn RM 上无法直接查看,即 http://192.168.10.10:8088,这对于调试程序很不方便,所以需要手动配置 配置方法 1. 配置 spark-defaults.conf  cp spark-defaults.conf.template spark-defaults.conf 添加如下配置 spark.eventLog.enabled true spark.eventLog.dir hdfs://hadoop10:9000//user…
?/ 为什么需要 Yarn? /? Yarn?的全称是?Yet Anther Resource Negotiator(另一种资源协商者).它作为 Hadoop?的一个组件,官方对它的定义是一个工作调度和集群资源管理的框架. Yarn?最早出现于?Hadoop 0.23?分支中,0.23?分支是一个实验性分支,之后经过了几次迭代,最后发布于?2014?年?6?月的?0.23.11?版本(该分支的最后一个版本).在?0.23.0?发布后不久的?2011?年?12?月,Hadoop?的 0.20?分支…
yarn版本:hadoop2.7.0 spark版本:spark1.4.0 0.前期环境准备: jdk 1.8.0_45 hadoop2.7.0 Apache Maven 3.3.3 1.编译spark on yarn 下载地址:http://mirrors.cnnic.cn/apache/spark/spark-1.4.1/spark-1.4.1.tgz 解压后进入spark-1.4.1 执行如下命令,Setting up Maven’s Memory Usage export MAVEN_O…
spark on yarn运行时会加载的jar包有如下: spark-submit中指定的--jars $SPARK_HOME/jars下的jar包 yarn提供的jar包 spark-submit通过参数spark.driver/executor.extraClassPath指定的jar包 spark-submit指定的--jar 当使用如下的脚本提交应用时,会将应用本身的jar以及--jar指定的jar包上传到集群中. ./bin/spark-submit \ --class org.apa…
今天将代码以Spark On Yarn Cluster的方式提交,遇到了很多很多问题.特地记录一下. 代码通过--master yarn-client提交是没有问题的,但是通过--master yarn-cluster总是报错,而且是各种各样的错误. 1.ClassCastException java.lang.ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationPr…
1 redis的事务(pipeline)测试 Redis本身对数据进行操作,单条命令是原子性的,但事务不保证原子性,且没有回滚.事务中任何命令执行失败,其余的命令仍会被执行,将Redis的多个操作放到一起执行,要成功多成功,如果失败了,可以把整个操作放弃,可以实现类似事物的功能.redis事务包含三个阶段:开始事务,命令入队,执行事务.redis的分片副本集集群不支持pipeline,redis只支持单机版的事务(pipeline),Redis的主从复制也支持pipeline(目前一些公司就是这…
Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on yarn了,假设现在准备环境已经部署完毕,这里是在CDH 环境下部署Spark 除了上面的环境准备,安装Spark前,还应该保证Scala正常安装,基于Scala的情况下,就可以开始部署Spark了, 首先还是解压Spark,安装位置就是/bigdata/spark -bin-hadoop2..t…
参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默认的spark的内存设置就不行了,需要重新设置.还没有看Spark源码,只能先搜搜相关的博客解决问题. 按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式: yarn-client 模式. yarn-cluster模式.当在YARN上运行Spark作业,每个Sp…
最近看到明风的关于数据挖掘平台下实用Spark和Yarn来做推荐的PPT,感觉很赞,现在基于大数据和快速计算方面技术的发展很快,随着Apache基金会上发布的一个个项目,感觉真的新技术将会不断出现在大家的面前. 作为技术发烧友,作为一个看客,来围观下,不过从PPT中列出来的技术来看,未来的发展趋势还是说是有的,而且还是很有发展前景的. 现在Spark和Yarn也就发布2年多的时间,随着社区力量的跟上,不断的将之前的项目都放到一个更好的资源架构的整合上来实现.特别是放到内存上来实现,在速度和效率上…
本文只是针对当前特定环境下,出现的问题找不到sqljdbc驱动的案例.具体出现原因,可能是spark版本问题,也可能是集群配置问题. yarn-client方式下: 通过--jars参数指定驱动文件位置,提交后提示:“...No suitable driver found for jdbc:...”: 后来参考到文章:Spark insertIntoJDBC找不到Mysql驱动解决方法 中介绍到:是由于版本问题,导致的我们程序提交不上去的错误问题. 于是修改提交参数使用--driver-clas…
当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit --master yarn-cluster   #使用集群调度模式(一般使用这个参数) --num-executors  132      # executor 数量 --executor-cores  2        #设置单个executor能并发执行task数,根据job设置,推荐值2-16 (…