《Spark Cookbook 中文版》一1.7 在集群上使用YARN部署
本节书摘来异步社区《Spark Cookbook 中文版》一书中的第1章,第1.7节,作者: 【印度】Rishi Yadav(亚达夫)译者: 顾星竹 , 刘见康 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.7 在集群上使用YARN部署另一种资源协调者(YARN)是基于HDFS这个Hadoop存储层的Hadoop计算框架。
YARN遵循主从架构。主守护进程被称为资源管理器(ResourceManager),从守护进程被称为节点管理器(NodeManager)。除此之外,生命周期管理由ApplicationMaster负责,它可以被派生到任何从节点上并可以生存一个应用的生命周期时长。
如果Spark运行在YARN上的话,资源管理器充当Spark master,节点管理器充当执行节点。
如果Spark运行在YARN上的话,每个Spark执行程序以YARN容器(container)的形式运行。
1.7.1 准备工作在YARN上部署Spark需要一个拥有YARN支持的Spark二进制安装包。在按照Spark安装教程时,需要注意这一点。
1.7.2 具体步骤1.在YARN上部署Spark,第一步就是设置配置参数。
HADOOP_CONF_DIR: to write to HDFS YARN_CONF_DIR: to connect to YARN ResourceManager $ cd /opt/infoobjects/spark/conf (or /etc/spark) $ sudo vi spark-env.sh export HADOOP_CONF_DIR=/opt/infoobjects/hadoop/etc/Hadoop export YARN_CONF_DIR=/opt/infoobjects/hadoop/etc/hadoop
图1-10可见这些配置。
2.以下命令以yarn-client模式启动YARN Spark。
$ spark-submit --class path.to.your.Class --master yarn-client [options] app jar [app options]
例如:
$ spark-submit --class com.infoobjects.TwitterFireHose —master yarn-client --num-executors 3 --driver-memory 4g —executor-memory 2g --executor-cores 1 target/sparkio.jar 10
3.以下命令以yarn-client模式启动Spark shell。
$ spark-shell --master yarn-client
4.以下命令以yarn-cluster模式启动。
$ spark-submit --class path.to.your.Class --master yarn-cluster [options] app jar [app options]
例如:
$ spark-submit --class com.infoobjects.TwitterFireHose –master yarn-cluster --num-executors 3 --driver-memory 4g --executor- memory 2g --executor-cores 1 target/sparkio.jar 101.7.3 工作原理
部署在YARN上的Spark应用有两种模式。
yarn-client:Spark驱动运行在YARN集群之外的客户端进程上,并且ApplicationMaster仅用于协商安排资源管理器的资源。 yarn-cluster:Spark驱动运行在由从节点的节点管理器派生出来的ApplicationMaster上。yarn-cluster模式建议用于生产环境部署,而yarn-client模式很适合用于开发和调试,因为你可以立即看到输出。不需要特别分别Spark master在哪个模式下,因为它由Hadoop配置决定,master的参数要么是yarn-client,要么是yarn-cluster。
图1-11是client模式下在YARN上部署Spark的架构图。
图1-12是cluster模式下在YARN上部署Spark的架构图。
在YARN模式下,可以配置如下参数。
num-executors:配置可分配执行程序数。 executor-memory:每个执行程序的内存(RAM)。 executor-cores:每个执行程序的CPU内核数。异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- 自建 28 核树莓派集群,顺便学学 docker,这里有个 500 美元的搭建方案
- 通过kubeadm工具部署k8s集群
- 在Kubenetes集群上部署定制轻量级镜像部署Paddle Serving
- KingbaseES R3 集群一键修改集群用户密码
- Kubernetes V1.15 二进制部署集群
- 5分钟教你在kubernetes集群上安装Helm,并部署应用
- 108 Storm集群部署
- kubespray v2.21.0 部署 kubernetes v1.24.0 集群
- Ceph分布式存储学习指南3.4 为Ceph集群部署MDS
- 《循序渐进学Spark》一1.2 在Linux集群上部署Spark
- Linux环境快速搭建elasticsearch6.5.4集群和Head插件
- Redis第二十讲 Redis主从,哨兵,集群模式下的操作
- RocketMQ第四篇 Rocket集群配置
- Redis高可用概述—持久化,主从复制,哨兵模式,集群模式
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三)
- Hadoop集群启动后没有SecondaryNameNode,IllegalArgument报错:Does not contain a valid host:port authority: hdfs:
- Spark集群基于Zookeeper的HA搭建部署笔记(转)
- Kubernetes V1.15 二进制部署集群
- 大数据集群的部署实例
- Spring Cloud Config实现集群配置中心
- Linux安装gssapi、kafka-python实现Kerberos认证连接Kafka等中间件集群服务(最新版)
- 大数据技术基础实验十二:YARN实验——部署YARN集群
- 客户机集群帮你实现虚拟机级别的高可用性