yarn

spark on yarn 资源计算

空扰寡人 提交于 2020-12-23 04:42:54
1、spark job 提交模式 spark on yarn 分两种情况,一种是yarn-client 提交,一种是yarn-cluster提交方式,两种方式的区别是: yarn-cluster模式下,driver运行在AM(Application Master)中,它负责向YARN申请资源,并监督作业的运行状况。当用户提交了作业之后,就可以关掉Client,作业会继续在YARN上运行; yarn-client模式下,Application Master仅仅向YARN请求executor,client会和请求的container通信来调度他们工作; 其中yarn集群包含RM,NM,AM的概念如下: ResourceManager:是集群所有应用程序的资源管理器,能够管理集群的计算资源并为每个Application分配,它是一个纯粹的调度器。 NodeManager:是每一台slave机器的代理,执行应用程序,并监控应用程序的资源使用情况。 Application Master:每一个应用程序都会有一个Application Master,它的主要职责是向RM申请资源、在每个NodeManager上启动executors、监控和跟踪应用程序的进程等。 spark中driver的作用: - 运行应用程序的main函数 - 创建spark的上下文 - 划分RDD并生成有向无环图

用Flink SQL CDC + ES实现数据实时化真香!

烂漫一生 提交于 2020-12-22 08:56:02
7月,Flink 1.11 新版发布,在生态及易用性上有大幅提升,其中Table & SQL 开始支持 Change Data Capture(CDC)。CDC 被广泛使用在复制数据、更新缓存、微服务间同步数据、审计日志等场景,本文由社区曾庆东同学分享,主要介绍 Flink SQL CDC 在生产环境的落地实践以及总结的实战经验,文章分为以下几部分: 一、项目背景 二、解决方案 三、项目运行环境与现状 四、具体实现 五、踩过的坑和学到的经验 六、总结 Tips:点击下方链接可查看相关视频~ https://flink-learning.org.cn/developers/flink-training-course3/ 一、项目背景 本人目前参与的项目属于公司里面数据密集、计算密集的一个重要项目,需要提供高效且准确的 OLAP 服务,提供灵活且实时的报表。业务数据存储在 MySQL 中,通过主从复制同步到报表库。作为集团级公司,数据增长多而且快,出现了多个千万级、亿级的大表。为了实现各个维度的各种复杂的报表业务,有些千万级大表仍然需要进行 Join,计算规模非常惊人,经常不能及时响应请求。 随着数据量的日益增长和实时分析的需求越来越大,急需对系统进行流式计算、实时化改造。正是在这个背景下,开始了我们与 Flink SQL CDC 的故事。 二、解决方案 针对平台现在存在的问题

如何为Spark应用程序分配--num-executors,--execuor-cores和--executor-memory

落爺英雄遲暮 提交于 2020-12-22 06:48:37
文章目录 前言 一些资源参数设置的基本知识 不同配置的优劣分析 第一种方法:使用较小的executors 第二种方法:使用较大的executors 第三种方法:使用优化的executors 前言 在我们提交spark程序时,应该如何为Spark集群配置–num-executors, - executor-memory和–execuor-cores 呢? 一些资源参数设置的基本知识 Hadoop / Yarn / OS Deamons 当我们使用像Yarn这样的集群管理器运行spark应用程序时,会有几个守护进程在后台运行,如NameNode,Secondary NameNode,DataNode,JobTracker和TaskTracker等。因此,在指定num-executors时,我们需要确保为这些守护进程留下足够的核心(至少每个节点约1 CPU核)以便顺利运行。 Yarn ApplicationMaster(AM) ApplicationMaster负责协调来自ResourceManager的资源,并与NodeManagers一起执行container并监控其资源消耗。如果我们在YARN上运行Spark,那么我们需要预估运行AM所需要的资源(至少1024MB和1 CPU核)。 HDFS吞吐量 HDFS客户端遇到大量并发线程会出现一些bug。一般来说

【hadoop】hadoop3.2.0的安装并测试

若如初见. 提交于 2020-12-17 06:10:17
前言:前段时间将hadoop01的虚拟机弄的崩溃掉了,也没有备份,重新从hadoop02虚拟上克隆过来的,结果hadoop-eclipse插件一样的编译,居然用不起了,找了3天的原因,最后还是没有解决,只能用hadoop shell 命令去测试了,反正影响不大,只不过用着不方便而已。 心累中........... 正文: 解压安装Hadoop [hadoop@hadoop01 ~]$ cp /home/hadoop/Resources/hadoop-3.2.0.tar.gz ~/ [hadoop@hadoop01 ~]$ tar -zxvf ~/hadoop-3.2.0.tar.gz [hadoop@hadoop01 ~]$ cd hadoop-3.2.0 [hadoop@hadoop01 hadoop-3.2.0]$ ls -l total 184 drwxr-xr-x. 2 hadoop hadoop 203 Jan 8 2019 bin drwxr-xr-x. 3 hadoop hadoop 20 Jan 8 2019 etc drwxr-xr-x. 2 hadoop hadoop 106 Jan 8 2019 include drwxr-xr-x. 3 hadoop hadoop 20 Jan 8 2019 lib drwxr-xr-x. 4 hadoop hadoop

Hadoop3.x中一把锁毁灭的大数据集群

本小妞迷上赌 提交于 2020-12-14 10:33:05
集群版本:HDP3.1.5 Hadoop版本:Hadoop3.1.1 源码地址: https://github.com/hortonworks/hadoop-release/tree/HDP-3.1.5.152-1-tag 一、前置知识 ​ 大家都知道hadoop的核心组件是HDFS和YARN,HDFS负责存储,YARN负责计算资源管理,今天要重点扯一扯YARN。YARN的架构跟众多分布式架构一样是主从式,为了维护可靠性,ResourceManager(RM)支持High Available(HA)功能。在所有人的认知中,只要是主从架构,挂了一个slave节点或master节点,框架内部的容错机制都会保证整个系统的正常运行,加上下游的计算应用的重试机制,甚至对用户无感知。貌似所有人都关心一种情况,就是某个或者某种类型的节点挂掉,但是,还有没有其它情况呢?非死即生?不,还有一种叫stop the world生不如死,类似jvm的gc,这也是java生态框架最头疼问题之一。当然,今天要讲的不是gc,而是另一种情况下的java进程stop the world导致的严重问题——锁。 为什么需要锁 RM作为资源管理服务,必然要维护存储资源的信息,最简单的,比如Container被客户端申请分配,多线程的情况下,要保证Container数值的准备性,多线程下客户端要申请资源,会对数值进行更改

CentOS7安装CDH 第十二章:YARN的资源调优

情到浓时终转凉″ 提交于 2020-12-12 21:28:18
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 CentOS7安装CDH 第四章:CDH的版本选择和安装方式 CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0 CentOS7安装CDH 第六章:CDH的管理-CDH5.12 CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置 CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作 CentOS7安装CDH 第九章:CDH中安装Kafka CentOS7安装CDH 第十章:CDH中安装Spark2 CentOS7安装CDH 第十一章:离线升级CDH版本 CentOS7安装CDH 第十二章:YARN的资源调优 CentOS7安装CDH 第十三章:CDH资源池配置 CentOS7安装CDH 第十四章:CDH的优化 1. memory调优 调优的本质就是对内存进行设置,使服务能够充分利用内存,从而速度更快,假设一台机器有32G内存,那应该怎么设置DataNode和Nodemanager的内存配置,从而是服务跑得更快。在Linux中,一般使用机器内存的百分之八十五用于服务,其他的百分之十五用于Linux本机自己的运行。所以机器32G内存

Spark(十一)Spark分区

≡放荡痞女 提交于 2020-12-12 15:51:58
一、分区的概念   分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。 二、为什么要进行分区   数据分区,在分布式集群里,网络通信的代价很大,减少网络传输可以极大提升性能。mapreduce框架的性能开支主要在io和网络传输,io因为要大量读写文件,它是不可避免的,但是网络传输是可以避免的,把大文件压缩变小文件, 从而减少网络传输,但是增加了cpu的计算负载。   Spark 里面io也是不可避免的,但是网络传输spark里面进行了优化:   Spark把rdd进行分区(分片),放在集群上并行计算。同一个rdd分片100个,10个节点,平均一个节点10个分区,当进行sum型的计算的时候,先进行每个分区的sum,然后把sum值shuffle传输到主程序进行全局sum,所以进行sum型计算对网络传输非常小。但对于进行join型的计算的时候,需要把数据本身进行shuffle,网络开销很大。 spark是如何优化这个问题的呢?   Spark把key-value rdd通过key的hashcode进行分区,而且保证相同的key存储在同一个节点上,这样对改rdd进行key聚合时

CentOS7安装CDH 第十四章:CDH的优化

让人想犯罪 __ 提交于 2020-12-06 19:53:56
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 CentOS7安装CDH 第四章:CDH的版本选择和安装方式 CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0 CentOS7安装CDH 第六章:CDH的管理-CDH5.12 CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置 CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作 CentOS7安装CDH 第九章:CDH中安装Kafka CentOS7安装CDH 第十章:CDH中安装Spark2 CentOS7安装CDH 第十一章:离线升级CDH版本 CentOS7安装CDH 第十二章:YARN的资源调优 CentOS7安装CDH 第十三章:CDH资源池配置 CentOS7安装CDH 第十四章:CDH的优化 1. 机器选型 机器选型时从CPU,MEMORY和DISK3个方面来选: CPU:云服务器 |刀片服务器 (192G/56核/10T 7w人民币 --> 6台 32G/8核) MEMORY: 越多越好 DISK: 评估当前未来2-3年的存储量 >7200转 IO ( 5块/2T/10000转) NetWork: 千兆/万兆

Spark集群-Standalone 模式

蓝咒 提交于 2020-12-06 06:09:28
Spark 集群相关 <style> table td{ width: 15% } </style> <font face="微软雅黑"> 来源于官方, 可以理解为是官方译文, 外加一点自己的理解. 版本是2.4.4 本篇文章涉及到: 集群概述 master, worker, driver, executor的理解 打包提交,发布 Spark application standalone模式 SparkCluster 启动 及相关配置 资源, executor分配 开放网络端口 高可用(Zookeeper) 名词解释 Term(术语) Meaning(含义) Application 用户构建在 Spark 上的程序。由集群上的一个 driver 程序和多个 executor 组成。 Driver program 该进程运行应用的 main() 方法并且创建了 SparkContext。 Cluster manager 一个外部的用于获取集群上资源的服务。(例如,Standlone Manager,Mesos,YARN) Worker node 任何在集群中可以运行应用代码的节点。 Executor 一个为了在 worker 节点上的应用而启动的进程,它运行 task 并且将数据保持在内存中或者硬盘存储。每个应用有它自己的 Executor。 Task 一个将要被发送到

安装hadoop-2.8.4

廉价感情. 提交于 2020-12-03 23:39:53
前面已经把基础环境搞得 接下来做基础配置 本次安装hadoop-2.8.4 core-site.xml <!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://主机名1:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.X.X/data/tmp</value> </property> hdfs-site.xml <!--数据冗余数--> <property> <name>dfs.replication</name> <value>3</value> </property> <!--secondary的地址--> <property> <name>dfs.namenode.secondary.http-address</name> <value>主机名1:50090</value> </property> <!--关闭权限--> <property> <name>dfs.permissions</name> <value>false</value> </property> yarn-site