问题: 最近现场反馈采用yarn-cluster方式提交spark application后,在提交节点机上依然会存在一个yarn的client进程不关闭,又由于spark application都是spark structured streaming程序(application常年累月的执行),最终导致spark application提交节点服务器资源被占满,当执行其他操作时,会出现以下错误: [dx@my-linux-01 bin]$ yarn logs -applicationId ap…
一.概述 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优.本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨.本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD.Shuffle.JVM 等相关概念. 在执行 Spark 的应用程序时,Spark 集群会启动 Dr…
转载自:http://lxw1234.com/archives/2015/07/416.htm 关键字:Spark On Yarn.Spark Yarn Cluster.Spark Yarn Client Spark On Yarn模式配置非常简单,只需要下载编译好的Spark安装包,在一台带有Hadoop Yarn客户端的机器上解压,简单配置之后即可使用. 要把Spark应用程序提交到Yarn运行,首先需要配置HADOOP_CONF_DIR或者YARN_CONF_DIR,让Spark知道Yar…
转载请注明出处:http://www.cnblogs.com/xiaodf/ 1 CapacityScheduler 1.1 模型介绍 1.2 资源分配相关参数 1.3 限制应用程序数目相关参数 1.4 队列访问和权限控制参数 2 线上实例 2.1 配置 2.1.1 配置ResourceManager使用CapacityScheduler 2.1.1 配置Queues 2.2 测试 2.2.1 用户user01能访问队列wa,不能访问队列yq 2.2.2 用户user02能访问队列yq,不能访问…
Spark集群模式&Spark程序提交 1. 集群管理器 Spark当前支持三种集群管理方式 Standalone-Spark自带的一种集群管理方式,易于构建集群. Apache Mesos-通用的集群管理,可以在其上运行Hadoop MapReduce和一些服务应用. Hadoop YARN-Hadoop2中的资源管理器. Tip1: 在集群不是特别大,并且没有mapReduce和Spark同时运行的需求的情况下,用Standalone模式效率最高. Tip2: Spark可以在应用间(通过集…
Spark集群之yarn提交作业优化案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.启动Hadoop集群 1>.自定义批量管理脚本 [yinzhengjie@s101 ~]$ more `which xzk.sh` #!/bin/bash #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie #EMAIL:y1053419035@qq.com #判断用户是否传参 ];then echo "无…
Idea里面远程提交spark任务到yarn集群 1.本地idea远程提交到yarn集群 2.运行过程中可能会遇到的问题 2.1首先需要把yarn-site.xml,core-site.xml,hdfs-site.xml放到resource下面,因为程序运行的时候需要这些环境 2.2权限问题 2.3缺失环境变量 2.4 没有设置driver的ip 2.5保证自己的电脑和虚拟机在同一个网段内,而且要关闭自己电脑的防火墙,不然可能会出现连接不上的情况. 作者:JasonLee 1.本地idea远程提…
spark 2.1.1 系统中希望监控spark on yarn任务的执行进度,但是监控过程发现提交任务之后执行进度总是10%,直到执行成功或者失败,进度会突然变为100%,很神奇, 下面看spark on yarn任务提交过程: spark on yarn提交任务时会把mainClass修改为Client childMainClass = "org.apache.spark.deploy.yarn.Client" spark-submit过程详见:https://www.cnblog…
spark on yarn通过--deploy-mode cluster提交任务之后,应用已经在yarn上执行了,但是spark-submit提交进程还在,直到应用执行结束,提交进程才会退出,有时这会很不方便,并且不注意的话还会占用很多资源,比如提交spark streaming应用: 最近发现spark里有一个配置可以修改这种行为,提交任务的时候加长一个conf就可以 --conf spark.yarn.submit.waitAppCompletion=false org.apache.spa…
无论用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…
spark提交作业命令: ./spark-submit --master yarn --deploy-mode cluster --class com.zjlantone.hive.SparkOperatorHiveTest --total-executor-cores 8 --executor-cores 1 --driver-memory 10g --conf spark.driver.maxResultSize=8g --executor-memory 2g /opt/sparkJob/M…
spark2.1出来了,想玩玩就搭了个原生的apache集群,但在standalone模式下没有任何问题,基于apache hadoop 2.7.3使用spark on yarn一直报这个错.(Java 8) 报错日志如下: Warning: Master yarn-client is deprecated since 2.0. Please use master "yarn" with specified deploy mode instead. // :: INFO spark.S…
最近看到有几个Github友关注了Streaming的监控工程--Teddy,所以思来想去还是优化下代码,不能让别人看笑话,是不.于是就想改在一下之前最丑陋的一个地方--任务提交 本博客内容基于Spark2.2版本~在阅读文章并想实际操作前,请确保你有: 一台配置好Spark和yarn的服务器 支持正常spark-submit --master yarn xxxx的任务提交 老版本 老版本任务提交是采用启动本地进程,执行脚本spark-submit xxx的方式做的.其中一个关键的问题就是获得提…
前言 本文章部分内容翻译自: http://spark.apache.org/docs/latest/submitting-applications.html 应用提交 Spark的bin目录中的spark-submit脚本用于在集群上启动应用程序.它可以通过统一的界面使用Spark支持的所有集群管理器,因此您不必为每个集群管理器配置应用程序. 捆绑应用程序的依赖关系 如果您的代码依赖于其他项目,则需要将它们与应用程序一起打包,以便将代码分发到Spark集群.为此,请创建包含代码及其依赖项的程序…
1.启动spark集群. 启动Hadoop集群 cd /usr/local/hadoop/ sbin/start-all.sh 启动Spark的Master节点和所有slaves节点 cd /usr/local/spark/ sbin/start-master.sh sbin/start-slaves.sh 2.standalone模式: 向独立集群管理器提交应用,需要把spark://master:7077作为主节点参数递给spark-submit.下面我们可以运行Spark安装好以后自带的样…
简介 Apache Hadoop 2.0 包含 YARN,它将资源管理和处理组件分开.基于 YARN 的架构不受 MapReduce 约束.本文将介绍 YARN,以及它相对于 Hadoop 中以前的分布式处理层的一些优势.本文将了解如何使用 YARN 的可伸缩性.效率和灵活性增强您的集群.   回页首 Apache Hadoop 简介 Apache Hadoop 是一个开源软件框架,可安装在一个商用机器集群中,使机器可彼此通信并协同工作,以高度分布式的方式共同存储和处理大量数据.最初,Hadoo…
一.环境说明和使用软件的版本说明: hadoop-version:hadoop-2.9.0.tar.gz spark-version:spark-2.2.0-bin-hadoop2.7.tgz java-version:jdk1.8.0_151 集群环境:单机伪分布式环境. 二.适用背景 在学习Spark过程中,资料中介绍的提交Spark Job的方式主要有两种(我所知道的):第一种是通过命令行的方式提交Job,使用spark 自带的spark-submit工具提交,官网和大多数参考资料都是已这…
一.Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext.由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等.程序执行完毕后关闭SparkContext (3)Executor:某个Application运行在Worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内存或者磁盘上.在Spark on Yarn模式下,其进程名称为 Coar…
Spark On Yarn: 从0.6.0版本其,就可以在在Yarn上运行Spark 通过Yarn进行统一的资源管理和调度 进而可以实现不止Spark,多种处理框架并存工作的场景 部署Spark On Yarn的方式其实和Standalone是差不多的,区别就是需要在spark-env.sh中添加一些yarn的环境配置,在提交作业的时候会根据这些配置加载yarn的信息,然后将作业提交到yarn上进行管理 首先请确保已经部署了Yarn,相关操作请参考: hadoop2.2.0集群安装和配置 部署完…
上一篇说到,在Spark 2.x当中,实际上SQLContext和HiveContext是过时的,相反是采用SparkSession对象的sql函数来操作SQL语句的.使用这个函数执行SQL语句前需要先调用DataFrame的createOrReplaceTempView注册一个临时表,所以关键是先要将RDD转换成DataFrame.实际上,在Spark中实际声明了 type DataFrame = Dataset[Row] 所以,DataFrame是Dataset[Row]的别名.RDD是提供…
spark的集群环境安装搭建 1.spark local模式运行环境搭建 常用于本地开发测试,本地还分为local单线程和local-cluster多线程; 该模式被称为Local[N]模式,是用单机的多个线程来模拟Spark分布式计算,直接运行在本地,便于调试,通常用来验证开发出来的应用程序逻辑上有没有问题. 其中N代表可以使用N个线程,每个线程拥有一个core.如果不指定N,则默认是1个线程(该线程有1个core). 如果是local[*],则代表 Run Spark locally wit…
1.概述 为了更好地理解调度,我们先看一下集群模式的Spark程序运行架构图,如上所示: 2.Spark中的基本概念 1.Application:表示你的程序 2.Driver:表示main函数,创建SparkContext.并由SC负责与ClusterMananger通信,进行资源的申请,任务的监控和分配.程序执行完毕后,关闭SparkContext. 3.Executor:某个Application运行在worker节点上的一个进行,该进程负责运行某些task,并且负责将数据存在内存或者磁盘…
?/ 为什么需要 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?分支…
spark-submit提交spark任务的具体参数配置说明 1.spark提交任务常见的两种模式 2.提交任务时的几个重要参数 3.参数说明 3.1 executor_cores*num_executors 3.2 executor_cores 3.3 executor_memory 3.4 driver-memory 1.spark提交任务常见的两种模式 local[k]:本地使用k个worker线程运行saprk程序.这种模式适合小批量数据在本地调试代码用.(若使用本地的文件,需要在前面加…
测试应用说明 测试的Spark应用实现了同步hive表到kafka的功能.具体处理流程: 从 ETCD 获取 SQL 语句和 Kafka 配置信息 使用 SparkSQL 读取 Hive 数据表 把 Hive 数据表的数据写入 Kafka 应用使用etcd来存储程序所需配置,通过拉取etcd的kv配置,来初始化sql语句和kafka配置的参数. 提交方式及相应的问题 使用client模式,提交无依赖的jar包 提交命令 /usr/local/spark-2.3.0-bin-2.8.2/bin/s…
0.前言 0.1  分布式运算框架的核心思想(此处以MR运行在yarn上为例)  提交job时,resourcemanager(图中写成了master)会根据数据的量以及工作的复杂度,解析工作量,从而产生任务(有多少个MapTask以及多少个ReduceTask),然后根据各个nodemanage节点资源情况进行任务划分.最后得到结果存入hdfs中或者是数据库中 注意:由图可知,map任务和reduce任务在不同的节点上,那么reduce是如何获取经过map处理的数据呢?======>shuff…
spark 2.1.1 最近spark任务(spark on yarn)有一个报错 Diagnostics: Container [pid=5901,containerID=container_1542879939729_30802_01_000001] is running beyond physical memory limits. Current usage: 11.0 GB of 11 GB physical memory used; 12.2 GB of 23.1 GB virtual…
Spark2.1.1 一 Spark Submit本地解析 1.1 现象 提交命令: spark-submit --master local[10] --driver-memory 30g --class app.package.AppClass app-1.0.jar 进程: hadoop 225653 0.0 0.0 11256 364 ? S Aug24 0:00 bash /$spark-dir/bin/spark-class org.apache.spark.deploy.SparkS…
Spark 的官方从 Cluster Mode Overview 中,官方向我们介绍了 cluster 模式的部署方式. Spark 作为独立进程在集群上运行,他们通过 SparkContext 进行协调. SparkContext 可以通过多种方式来连接 Cluster Managers 资源调度器.我们先来看下这个集群模式的架构图 首先我要神明一点 standalone 也是集群模式的一种.只是说他不是通过第三方调度器比如 Yarn | Mesos  .我一直被这个名字误导,一直觉得是不是…