当前位置: 首页 > news >正文

主题网站策划设计书最权威的做网站的公司哪家好

主题网站策划设计书,最权威的做网站的公司哪家好,一个wordpress两个站点,济南网站1 Spark的部署方式介绍 ​ Spark部署模式分为Local模式#xff08;本地模式#xff09;和集群模式#xff08;集群模式又分为Standalone模式、Yarn模式和Mesos模式#xff09; 1.1 Local模式 Local模式常用于本地开发程序与测试#xff0c;如在idea中 1.2 Standalone模…1 Spark的部署方式介绍 ​ Spark部署模式分为Local模式本地模式和集群模式集群模式又分为Standalone模式、Yarn模式和Mesos模式 1.1 Local模式 Local模式常用于本地开发程序与测试如在idea中 1.2 Standalone模式 ​ Standalone模式被称为集群单机模式。Spark与Hadoop1.0版本有点类似Spark本身自带了完整的资源调度管理服务但这不是它的强项因为Spark主要是一个计算框架可以独立部署到集群中无须依赖任何其他的资源管理系统在该模式下Spark集群架构为主从模式即一台Master节点与多台Slave节点Slave节点启动的进程名称为Worker此时集群会存在单点故障。单点故障可利用Spark HA 与zookeeper解决 这种模式下 Driver 和 Worker 是启动在节点上的进程运行在JVM 中的进程 Driver 与集群节点之间有频繁的通信。Driver 负责任务task的分发和结果的回收 即任务的调度。如果task的计算结果非常大就不要回收了。会造成OOMWorker 是 Standalone 资源调度框架里面资源管理的从节点也是JVM进程 管理每个节点中的资源状态启动进程执行Task任务 Master 是 Standalone 资源调度框架里面资源管理的主节点也是JVM进程 管理所有资源状态 简单来说 ​ Master类似于 yarn的 RMDriver类似于 yarn的 AMApplicationMasterSlaves类似于 yarn的 NM ​ Worker、Master是常驻进程、Driver是当有任务来时才会启动 1.3 Yarn模式 ​ Yarn模式被称为 Spark on Yarn 模式即把Spark作为一个客户端将作业提交给Yarn服务由于在生产环境中很多时候要与Hadoop使用同一个集群因此采用Yarn来管理资源调度可以有效提高资源利用率 Yarn模式又分为Yarn Cluster模式、Yarn Client模式 Yarn Cluster用于生产环境所以的资源调度和计算都在集群上运行Yarn Client用于交互、调试环境 若要基于 yarn 来进行资源调度必须实现 ApplicationMaster 接口Spark 实现了这个接口所以可以基于 Yarn 来进行资源调度 1.4 Mesos模式 ​ Mesos模式被称为 Spark on Mesos 模式Mesos与Yarn同样是一款资源调度管理系统可以为Spark提供服务由于Spark与Mesos存在密切的关系因此在设计Spark框架时充分考虑到了对Mesos的集成但如果同时运行Hadoop和Spark从兼容性的角度来看Spark on Yarn是更好的选择。 1.5 小结 Spark作为一个数据处理框架和计算引擎被设计在所有常见的集群环境中运行, 在国内工作中主流的环境为Yarn不过逐渐容器式环境也慢慢流行起来。接下来我们就分别看看不同环境下Spark的运行 2 Spark环境部署 2.1 Local模式 Local模式就是不需要其他任何节点资源就可以在本地执行Spark代码的环境一般用于教学调试演示等 这种模式最为简单解压即用不需要进入任何配置 1将压缩包上传至Linux并解压到指定目录 [nhkkk01 opt]$ tar -zxvf spark-3.2.0-bin-hadoop3.2-scala2.13.tgz -C /opt/software/ [nhkkk01 opt]$ cd /opt/software/ [nhkkk01 software]$ mv spark-3.2.0-bin-hadoop3.2-scala2.13 spark-local2配置文件spark-env.sh [nhkkk01 conf]$ pwd /opt/software/spark-local/conf [nhkkk01 conf]$ cp spark-env.sh.template spark-env.sh [nhkkk01 conf]$ vim spark-env.sh # 添加如下配置JAVA_HOME/opt/software/jdk1.8.0_152 SCALA_HOME/opt/software/scala-2.13.5HADOOP_CONF_DIR/opt/software/hadoop-3.1.3/etc/hadoop3启动spark shell 命令 spark-shell -master local | local[k]| local[*] # 建议 k 2其中k表示启动线程数目CPU Core核数 ValuelocalRuns Spark locally with one worker thread. There will be no multiple threads running in parallellocal[k]Runs Spark locally with k number of threads.( K is ideally the number of cores in your machine.)local[*]Runs Spark locally with a number of worker threads that equals the number of logical cores in your machine. # 进入解压缩后的路径执行如下指令 [nhkkk01 software]$ cd spark-local/ [nhkkk01 spark-local]$ bin/spark-shell Using Sparks default log4j profile: org/apache/spark/log4j-defaults.properties Setting default log level to WARN. To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to____ __/ __/__ ___ _____/ /___\ \/ _ \/ _ / __/ _//___/ .__/\_,_/_/ /_/\_\ version 3.2.0/_/Using Scala version 2.13.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_152) Type in expressions to have them evaluated. Type :help for more information. 23/04/13 07:08:48 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Spark context Web UI available at http://kk01:4040 Spark context available as sc (master local[*], app id local-1681384129891). Spark session available as spark.scala 3输入网址进入web ui监控页面访问 http://kk01:4040 注意 ​ 这里的kk01是在hosts文件配置了ip地址映射如果没有默认填写ip 4退出Local本地模式 两种方式 1、直接按ctrlc 或 ctrld 2、输入Scala指令 :quit5提交应用 [nhkkk01 spark-local]$ bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master local[2] \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 10# --class 表示要执行的程序的主类可以可以根据我们自己编写的程序做出相应修改 # --master local[2] 部署模式默认为本地模式数字表示分配的虚拟cpu核数量 # spark-examples_2.13-3.2.0.jar 运行的应用类所在的jar包实际使用时可设定为我们自己打的jar报 # 数字10表示程序的入口参数用于设定当前应用的任务数量2.2 Standalone模式 ​ 真实工作中还是要将应用提交到对应的集群中去执行这里我们来看看只使用Spark自身节点运行的集群模式也就是我们所谓的独立部署Standalone模式。 Spark的 Standalone 模式体现了经典的master-slave模式 注意 ​ 搭建集群之前需要确认 jdk版本为8 0集群规划 kk01kk02kk03Worker MasterWorkerWorker 1将压缩包上传至Linux并解压到指定目录 [nhkkk01 opt]$ tar -zxvf spark-3.2.0-bin-hadoop3.2-scala2.13.tgz -C /opt/software/ [nhkkk01 opt]$ cd /opt/software/ [nhkkk01 software]$ mv spark-3.2.0-bin-hadoop3.2-scala2.13 spark-standalone2修改配置文件 进入spark-standalone/conf目录修改workers.template文件名为workes保守做法可以选择复制 [nhkkk01 software]$ cd spark-standalone/conf/ [nhkkk01 conf]$ cp workers.template workers修改workes文件添加worker节点 [nhkkk01 conf]$ vim workers # 将文件内容替换为如下kk01 kk02 kk03修改spark-env.sh.template文件名为spark-env.sh 保守做法可以选择复制 [nhkkk01 conf]$ cd /opt/software/spark-standalone/conf/ [nhkkk01 conf]$ cp spark-env.sh.template spark-env.sh修改spark-env.sh文件添加JAVA_HOME环境变量和集群对应的master节点 [nhkkk01 conf]$ vim spark-env.sh # 在文件末尾添加如下内容# 配置 jdk 环境 export JAVA_HOME/opt/software/jdk1.8.0_152 # 配置 Master 的 IP 端口 export SPARK_MASTER_HOSTkk01 export SPARK_MASTER_PORT7077# 注意7077端口相当于kk01内部通信的8020端口(此处的端口需要确认自己的Hadoop)3分发spark-standalone目录 # 使用scp或rsync分发scp或rsync区别在于 scp是完全拷贝 rsync只对差异文件进行拷贝# 由于是第一次配置standalone模式因此这里使用scp [nhkkk01 software]$ scp -r /opt/software/spark-standalone/ kk02:/opt/software/spark-standalone/ [nhkkk01 software]$ scp -r /opt/software/spark-standalone/ kk03:/opt/software/spark-standalone/# 如果定义了分发脚本 xsync 则使用自定义脚本 [nhkkk01 software]$ xsync spark-standalone4启动集群 [nhkkk01 spark-standalone]$ sbin/start-all.sh 5查看服务器进程 [nhkkk01 spark-standalone]$ jps 2480 Master 2695 Jps 2586 Worker[nhkkk02 ~]$ jps 2497 Jps 2414 Worker[nhkkk03 ~]$ jps 2416 Worker 2499 Jps6查看Master资源监控Web UI界面 http://kk01:8080 注意 ​ kk01这里默认是填写服务器ip但是我们在hosts文件里映射了ip因此填主机名也可以 7提交应用client模式 [rootkk01 spark-standalone]# bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://kk01:7077 \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 10# --class 表示要执行的程序的主类可以可以根据我们自己编写的程序做出相应修改 # --master spark://kk01:7077 独立部署模式连接到Spark集群 # spark-examples_2.13-3.2.0.jar 运行的应用类所在的jar包 # 数字10表示程序的入口参数用于设定当前应用的任务数量执行任务时会产生多个Java进程 ​ CoarseGrainedExecutorBackend 执行节点进程 ​ SparkSumbit 提交节点进程 [nhkkk01 ~]$ jps 2611 DataNode 3027 ResourceManager 3171 NodeManager 3687 Master 3783 Worker 2473 NameNode 3581 JobHistoryServer 4205 Jps 3998 SparkSubmit执行任务时默认采用服务器集群节点的总核数每个节点内存1024M。 任务执行流程 client 模式提交任务后会在客户端启动 Driver进程Driver 回向 Master 申请启动 Application 启动的资源资源申请成功Driver 端将 task 分发到worker 端执行启动 executor进程任务的分发Worker 端(executor进程) 将task 执行结果返回到 Driver 端任务结果的回收 提交参数说明 在提交应用中一般会同时一些提交参数 bin/spark-submit \ --class main-class --master master-url \ ... # other options application-jar \ [application-arguments]参数解释可选值举例–classSpark程序中包含主函数的类–masterSpark程序运行的模式(环境)模式local[*]、spark://linux1:7077、Yarn–executor-memory 1G指定每个executor可用内存为1G这里越大计算能力越强–total-executor-cores 2指定所有executor使用的cpu核数为2个–executor-cores指定每个executor使用的cpu核数application-jar打包好的应用jar包含依赖。这个URL在集群中全局可见。比如hdfs:// 共享存储系统。如果是file://path那么所有的节点的path都包含同样的jarapplication-arguments传给main()方法的参数 总结 ​ **client模式适用于测试调试程序。**Driver进程是在客户端启动的这里的客户端指的是提交应用程序的当前节点。在Driver端可以看到 task执行的情况 ​ **生成环境中不能使用client模式。**因为假设要提交100个application 到集群运行Driver每次都会在 client端启动那么就会导致客户端100网卡流量暴增的问题。 8提交应用cluster模式 [nhkkk01 spark-standalone]$ bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://kk01:7077 \ --deploy-mode cluster \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 102.3 standalone配置历史服务器 ​ 由于spark-shell停止掉后集群监控kk01:4040页面就看不到历史任务的运行情况所以开发时都配置历史服务器记录任务运行情况。说白点就是Driver节点停止了 1修改spark-defaults.conf.template文件名为spark-defaults.conf [nhkkk01 conf]$ cd /opt/software/spark-standalone/conf/ [nhkkk01 conf]$ cp spark-defaults.conf.template spark-defaults.conf2修改spark-default.conf文件配置日志存储路径 [nhkkk01 conf]$ vim spark-defaults.conf # 在文件末尾加入如下内容spark.eventLog.enabled true spark.eventLog.dir hdfs://kk01:8020/spark-history 注意 ​ 需要启动hadoop集群HDFS上的spark-history 目录需要提前存在。 3在创建HDFS上的spark-history 目录 [nhkkk01 conf]$ start-dfs.sh # Hadoop配置了环境变量脚本全局可用 [nhkkk01 conf]$ hadoop fs -mkdir /spark-history4修改spark-env.sh文件, 添加日志配置 [nhkkk01 conf]$ pwd /opt/software/spark-standalone/conf [nhkkk01 conf]$ vim spark-env.sh # 在文件中添加如下内容 export SPARK_HISTORY_OPTS -Dspark.history.ui.port18080 -Dspark.history.fs.logDirectoryhdfs://kk01:8020/spark-history -Dspark.history.retainedApplications30# 参数说明 # 参数1含义WEB UI访问的端口号为18080 # 参数2含义指定历史服务器日志存储路径 # 参数3含义指定保存Application历史记录的个数如果超过这个值旧的应用程序信息将被删除这个是内存中的应用数而不是页面上显示的应用数5分发配置文件 # 使用rsync命名更新差异文件 # 因为我们只更改了conf目录下的文件因此只分发conf目录即可 [nhkkk01 spark-standalone]$ rsync -av /opt/software/spark-standalone/conf/ kk02:/opt/software/spark-standalone/conf/[nhkkk01 spark-standalone]$ rsync -av /opt/software/spark-standalone/conf/ kk02:/opt/software/spark-standalone/conf/# 参数说明 # -a 归档拷贝 # -v 显示拷贝过程6重新启动集群和历史服务 # 先确保hdfs集群、spark集群关闭 [nhkkk01 spark-standalone]$ stop-dfs.sh [nhkkk01 spark-standalone]$ sbin/stop-all.sh # 重启 [nhkkk01 spark-standalone]$ start-dfs.sh [nhkkk01 spark-standalone]$ sbin/start-all.sh [nhkkk01 spark-standalone]$ sbin/start-history-server.sh7查看进程 [nhkkk01 spark-standalone]$ jps 5921 Master 6052 Worker 5558 DataNode 5371 NameNode 6235 Jps 6174 HistoryServer8重新执行任务 [nhkkk01 spark-standalone]$ bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://kk01:7077 \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 109查看历史服务 确保历史服务可用 http://kk01:18080/2.4 standalone配置高可用HA基于Zookeeper 当前集群中的Master节点只有一个所以会存在单点故障问题。所以为了解决单点故障问题需要在集群中配置多个Master节点一旦处于活动状态的Master发生故障时由备用Master提供服务保证作业可以继续执行。这里的高可用一般采用Zookeeper设置 集群规划 kk01 Worker ZooKeeper Masterkk02 Worker ZooKeeper Masterkk03 Worker ZooKeeper 1停止集群可选 在确保hdfs集群、spark集群停止的情况下才开始配置HA [nhkkk01 spark-standalone]$ sbin/stop-all.sh [nhkkk01 spark-standalone]$ stop-dfs.sh 2启动Zookeeper集群 [nhkkk01 spark-standalone]$ zkServer.sh start [nhkkk02 ~]$ zkServer.sh start [nhkkk03 ~]$ zkServer.sh start# 也可以使用自定义脚本启动集群如果你定义了的话 [nhkkk01 spark-standalone]$ xzk.sh start3修改spark-env.sh文件添加如下配置 [nhkkk01 conf]$ pwd /opt/software/spark-standalone/conf [nhkkk01 conf]$ vim spark-env.sh注释如下内容 #SPARK_MASTER_HOSTkk01 #SPARK_MASTER_PORT7077添加如下内容: #Master监控页面默认访问端口为8080但是可能会和Zookeeper冲突所以改成8989也可以自定义访问UI监控页面时请注意 SPARK_MASTER_WEBUI_PORT8989export SPARK_DAEMON_JAVA_OPTS -Dspark.deploy.recoveryModeZOOKEEPER -Dspark.deploy.zookeeper.urlkk01,kk02,kk03 -Dspark.deploy.zookeeper.dir/spark参考配置文件如下 export JAVA_HOME/opt/software/jdk1.8.0_152 #SPARK_MASTER_HOSTkk01 #SPARK_MASTER_PORT7077export SPARK_HISTORY_OPTS -Dspark.history.ui.port18080 -Dspark.history.fs.logDirectoryhdfs://kk01:8020/spark-history -Dspark.history.retainedApplications30#Master监控页面默认访问端口为8080但是可能会和Zookeeper冲突所以改成8989也可以自定义访问UI监控页面时请注意 SPARK_MASTER_WEBUI_PORT8989export SPARK_DAEMON_JAVA_OPTS -Dspark.deploy.recoveryModeZOOKEEPER -Dspark.deploy.zookeeper.urlkk01,kk02,kk03 -Dspark.deploy.zookeeper.dir/spark 4分发配置文件 [nhkkk01 conf]$ rsync -av /opt/software/spark-standalone/conf/ kk02:/opt/software/spark-standalone/conf/[nhkkk01 conf]$ rsync -av /opt/software/spark-standalone/conf/ kk03:/opt/software/spark-standalone/conf/5启动集群 启动spark集群前先启动hdfs集群确定历史服务器正常当然也需要确保zookeeper集群正常启动 [nhkkk01 conf]$ start-dfs.sh # 启动hdfs集群[nhkkk01 spark-standalone]$ pwd /opt/software/spark-standalone [nhkkk01 spark-standalone]$ sbin/start-all.sh [nhkkk01 spark-standalone]$ sbin/start-history-server.sh # 启动历史服务进程6 启动kk02的单独Master节点此时kk02节点Master状态处于备用状态 [nhkkk02 ~]$ cd /opt/software/spark-standalone/ [nhkkk02 spark-standalone]$ sbin/start-master.sh 7查看进程 [nhkkk01 spark-standalone]$ jps 7697 NameNode 8385 Worker 8504 Jps 7289 QuorumPeerMain 8250 Master 7884 DataNode 6174 HistoryServer # 历史服务器进程[nhkkk02 spark-standalone]$ jps 4546 DataNode 4315 QuorumPeerMain 5003 Jps 4909 Master # 备份master 4798 Worker[nhkkk03 ~]$ jps 4688 SecondaryNameNode 4256 Worker 4347 Jps 3884 QuorumPeerMain 4111 DataNodes8提交应用到高可用集群 [nhkkk01 spark-standalone]$ bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://kk01:7077,kk02:7077 \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 109查看kk01的Master 资源监控Web UI http://kk01:8989/ 发现状态为 Status: ALIVE 10手动停止kk01的Master资源监控进程 [nhkkk01 spark-standalone]$ jps 7697 NameNode 8385 Worker 7289 QuorumPeerMain 8250 Master 7884 DataNode 6174 HistoryServer 8910 Jps [nhkkk01 spark-standalone]$ kill -9 825011) 查看kk02的Master 资源监控Web UI稍等一段时间后kk02节点的Master状态提升为活动状态 http://kk02:8989/ 状态变化 ​ Status:STANDBY Status: ALIVE 2.5 Yarn模式 ​ 独立部署Standalone模式由Spark自身提供计算资源无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性独立性非常强。但是你也要记住**Spark主要是计算框架而不是资源调度框架所以本身提供的资源调度并不是它的强项所以还是和其他专业的资源调度框架集成会更靠谱一些。**所以接下来我们来学习在强大的Yarn环境下Spark是如何工作的其实是因为在国内工作中Yarn使用的非常多。 注意 ​ Spark on Yarn 不需要单独开启spark相关的进程 Spark On Yarn的本质 Master 角色由YARN的 ResourceManager 担任Worker 角色由YARN的 NodeManager 担任Driver 角色运行在YARN容器内 或 提交任务的客户端进程中真正干活的Executor运行在YARN提供的容器内 1上传并解压缩文件 将spark-3.2.0-bin-hadoop3.2-scala2.13.tgz文件上传到linux并解压缩放置在指定位置。 [nhkkk01 ~]$ cd /opt/software/ [nhkkk01 software]$ rz[nhkkk01 software]$ tar -zxvf spark-3.2.0-bin-hadoop3.2-scala2.13.tgz -C /opt/software/2重命名 [nhkkk01 software]$ mv spark-3.2.0-bin-hadoop3.2-scala2.13/ spark-yarn3修改配置文件yarn-site.xml 修改hadoop配置文件/opt/software/hadoop-3.1.3/etc/hadoop/yarn-site.xml 修改这个配置文件的原因是因为 [nhkkk01 hadoop]$ pwd /opt/software/hadoop-3.1.3/etc/hadoop [nhkkk01 hadoop]$ vim yarn-site.xml # 添加如下内容!-- 是否将对容器实施物理内存限制 生产中可产生改配置-- !--是否启动一个线程检查每个任务正使用的物理内存量如果任务超出分配值则直接将其杀掉默认是true -- propertynameyarn.nodemanager.pmem-check-enabled/namevaluetrue/value /property!-- 是否将对容器实施虚拟内存限制 生产中可产生改配置-- propertynameyarn.nodemanager.vmem-check-enabled/namevaluefalse/value /property!-- 开启日志聚集-- propertynameyarn.log-aggregation-enable/namevaluetrue/value /property !-- 设置yarn历史服务器地址-- propertynameyarn.log.server.url/namevaluehttp://kk01:19888/jobhistory/logs/value /propertypropertynameyarn.nodemanager.remote-app-log-dir/namevalue/tmp/logs/value /property !-- 历史日志保存的时间 7天-- propertynameyarn.log-aggregation.retain-seconds/namevalue604800/value /property4同步修改的文件至所有服务器 [nhkkk01 hadoop]$ rsync -av /opt/software/hadoop-3.1.3/etc/hadoop/ kk02:/opt/software/hadoop-3.1.3/etc/hadoop/[nhkkk01 hadoop]$ rsync -av /opt/software/hadoop-3.1.3/etc/hadoop/ kk03:/opt/software/hadoop-3.1.3/etc/hadoop/5 修改conf/spark-env.sh 当Spark Application连接到yarn集群上运行时需要设置环境变量HADOOP_CONF_DIR指向Hadoop配置目录以获取集群信息 在 $SPARK_HOME/conf/spark-env.sh 文件中 修改conf/spark-env.sh添加 JAVA_HOME和YARN_CONF_DIR配置 [nhkkk01 hadoop]$ cd /opt/software/spark-yarn/conf/ [nhkkk01 conf]$ cp spark-env.sh.template spark-env.sh [nhkkk01 conf]$ vim spark-env.sh # 添加如下内容export JAVA_HOME/opt/software/jdk1.8.0_152HADOOP_CONF_DIR/opt/software/hadoop-3.1.3/etc/hadoop # 下面这个也可以不配因为和上面一样 YARN_CONF_DIR/opt/software/hadoop-3.1.3/etc/hadoop6启动HDFS集群、YARN集群 # 我们配置过Hadoop环境变量因此可以直接使用脚本一键启动 [nhkkk01 conf]$ start-dfs.sh [nhkkk01 conf]$ start-yarn.sh 7提交应用cluster模式 [nhkkk01 spark-yarn]$ pwd /opt/software/spark-yarn [nhkkk01 spark-yarn]$ bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 10# 或者[nhkkk01 spark-yarn]$ pwd /opt/software/spark-yarn [nhkkk01 spark-yarn]$ bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn-cluster \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 10查看http://kk01:8088页面查看历史页面查看任务调度情况点击History查看历史页面 yarn client 任务执行流程 客户端提交一个 Application在客户端会启动一个 Driver进程应用程序启动后会向 RM(ResourceMananger)相当于 standalone模式下的master进程发送请求启动AM(ApplicationMaster)RM收到请求随机选择一台 NM(NodeManager)启动AM。这里的NM相当于standalone中的Worker进程AM启动后会向 RM 请求一批 container资源用于启动ExecutorRM会找到一批 NM(包含container)返回给AM用于启动ExecutorAM 会向 NM发送命令启动 ExecutorExecutor启动后会方向注册给 DriverDriver发送 task 到 Executor 执行情况和结果返回给Driver端 总结 ​ yarn-client模式同样是适用于测试因为Driver 运行在本地Driver会与yarn集群中的Executor 进行大量的通信提交的 application 过多同样会造成客户机网卡流量的大量增加 ​ ApplicationMasterexecutorLauncher在次模式中的作用 为当前的 Application 申请资源给 NodeManager 发送消息启动 Executor 注意ApplicationMaster 在此模式下有 launchExecutor和申请资源的功能没有作业调度的功能 2.6 Yarn配置历史服务器 ​ 配置了 historyServer停止程序后可以在web ui 中 Completed Application 对应的 ApplicationID 中能查看history 1spark-defaults.conf 修改spark-defaults.conf.template 文件名为 spark-defaults.conf [nhkkk01 spark-yarn]$ cd conf/ [nhkkk01 conf]$ pwd /opt/software/spark-yarn/conf [nhkkk01 conf]$ cp spark-defaults.conf.template spark-defaults.conf2修改spark-default.conf文件**配置日志存储路径** [nhkkk01 conf]$ vim spark-defaults.conf # 在文件末尾加入如下内容# 开启记录事件日志的功能 spark.eventLog.enabled true # 设置事件日志存储的路径 spark.eventLog.dir hdfs://kk01:8020/spark-history spark.history.fs.logDirectory hdfs://kk01:8020/spark-history # 日志优化选项压缩日志 spark.eventLog.compress true注意 ​ 需要启动hadoop集群HDFS上的spark-history 目录需要提前存在。 3在创建HDFS上的directory目录 [nhkkk01 conf]$ start-dfs.sh # Hadoop配置了环境变量脚本全局可用 [nhkkk01 conf]$ hadoop fs -mkdir /spark-history4修改spark-env.sh文件, 添加日志配置 [nhkkk01 conf]$ pwd /opt/software/spark-yarn/conf [nhkkk01 conf]$ vim spark-env.sh # 在文件中添加如下内容 export SPARK_HISTORY_OPTS -Dspark.history.ui.port18080 -Dspark.history.fs.logDirectoryhdfs://kk01:8020/spark-history -Dspark.history.retainedApplications30# 参数说明 # 参数1含义WEB UI访问的端口号为18080 # 参数2含义指定历史服务器日志存储路径 # 参数3含义指定保存Application历史记录的个数如果超过这个值旧的应用程序信息将被删除这个是内存中的应用数而不是页面上显示的应用数5修改spark-defaults.conf配置SparkHistoryServer [nhkkk01 conf]$ vim spark-defaults.conf # 添加如下配置spark.yarn.historyServer.addresskk01:18080 spark.history.ui.port180806启动历史服务器 [nhkkk01 conf]$ cd .. [nhkkk01 spark-yarn]$ sbin/start-history-server.sh starting org.apache.spark.deploy.history.HistoryServer, logging to /opt/software/spark-yarn/logs/spark-nhk-org.apache.spark.deploy.history.HistoryServer-1-kk 01.out[nhkkk01 spark-yarn]$ jps 2627 NameNode 2771 DataNode 3331 JobHistoryServer # 这个是Hadoop的历史服务器 4677 Jps 4605 HistoryServer # 这个是Spark的历史服务器 3134 NodeManager7重新提交应用(client模式) [nhkkk01 spark-yarn]$ bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode client \ ./examples/jars/spark-examples_2.13-3.2.0.jar \ 108Web页面查看日志 http://kk01:18080/ 配置依赖Spark jar包优化配置 当Spark Application应用提交运行在YARN上时默认情况下每次提交应用都需要将Spark相关jar包上传到YARN集群上为了节省提交时间和存储空间将Spark相关jar包上传到HDFS目录设置属性告知Spark Application应用 说明 ​ 该项配置属于优化配置可酌情考虑配置与否 上传Spark jar包前需要确保HDFS集群开启 # 在HDFS上创建目录用于存放jar包 [nhkkk01 ~]$ hadoop fs -mkdir sparkjars# 上传$SPARK_HOME/jars中所有的jar包 [nhkkk01 ~]$ hadoop fs -put /opt/software/spark-yarn/jars/* /sparkjars在$SPARK_HOME/conf/spark-defaults.conf文件增加spark 相关jar包存储在HDFS上的位置信息 [nhkkk01 ~]$ vim /opt/software/spark-yarn/conf/spark-defaults.conf # 添加如下配置spark.yarn.jars hdfs://kk01:8020/sparkjars/*同步配置到所有节点 [nhkkk01 ~]$ sudo /home/nhk/bin/xsync /opt/software/spark-yarn/3 部署模式对比 模式Spark安装机器数需启动的进程所属者应用场景Local1无Spark测试Standalone3Master及WorkerSpark单独部署Yarn1Yarn及HDFSHadoop混合部署 4 常见端口号 Spark查看当前Spark-shell运行任务情况端口号4040计算 Spark Master内部通信服务端口号7077 Standalone模式下Spark Master Web端口号8080资源 Spark历史服务器端口号18080 Hadoop YARN任务运行情况查看端口号8088
文章转载自:
http://www.morning.rszwc.cn.gov.cn.rszwc.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.qsy37.cn.gov.cn.qsy37.cn
http://www.morning.mrskk.cn.gov.cn.mrskk.cn
http://www.morning.tfwg.cn.gov.cn.tfwg.cn
http://www.morning.mqfw.cn.gov.cn.mqfw.cn
http://www.morning.tsyny.cn.gov.cn.tsyny.cn
http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn
http://www.morning.crsqs.cn.gov.cn.crsqs.cn
http://www.morning.jsphr.cn.gov.cn.jsphr.cn
http://www.morning.bzsqr.cn.gov.cn.bzsqr.cn
http://www.morning.chfxz.cn.gov.cn.chfxz.cn
http://www.morning.wpkr.cn.gov.cn.wpkr.cn
http://www.morning.hjlsll.com.gov.cn.hjlsll.com
http://www.morning.rlqqy.cn.gov.cn.rlqqy.cn
http://www.morning.pynzj.cn.gov.cn.pynzj.cn
http://www.morning.rxlk.cn.gov.cn.rxlk.cn
http://www.morning.nssjy.cn.gov.cn.nssjy.cn
http://www.morning.schwr.cn.gov.cn.schwr.cn
http://www.morning.qphdp.cn.gov.cn.qphdp.cn
http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn
http://www.morning.xcyhy.cn.gov.cn.xcyhy.cn
http://www.morning.bmts.cn.gov.cn.bmts.cn
http://www.morning.c7510.cn.gov.cn.c7510.cn
http://www.morning.rpwck.cn.gov.cn.rpwck.cn
http://www.morning.wmdqc.com.gov.cn.wmdqc.com
http://www.morning.bnrff.cn.gov.cn.bnrff.cn
http://www.morning.zrlwl.cn.gov.cn.zrlwl.cn
http://www.morning.rfrx.cn.gov.cn.rfrx.cn
http://www.morning.bfrsr.cn.gov.cn.bfrsr.cn
http://www.morning.ltpzr.cn.gov.cn.ltpzr.cn
http://www.morning.xwlhc.cn.gov.cn.xwlhc.cn
http://www.morning.skbhl.cn.gov.cn.skbhl.cn
http://www.morning.llcsd.cn.gov.cn.llcsd.cn
http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn
http://www.morning.hlppp.cn.gov.cn.hlppp.cn
http://www.morning.jbctp.cn.gov.cn.jbctp.cn
http://www.morning.gpcy.cn.gov.cn.gpcy.cn
http://www.morning.trffl.cn.gov.cn.trffl.cn
http://www.morning.rfljb.cn.gov.cn.rfljb.cn
http://www.morning.nynyj.cn.gov.cn.nynyj.cn
http://www.morning.nnwmd.cn.gov.cn.nnwmd.cn
http://www.morning.bpcf.cn.gov.cn.bpcf.cn
http://www.morning.lzqnj.cn.gov.cn.lzqnj.cn
http://www.morning.wrtsm.cn.gov.cn.wrtsm.cn
http://www.morning.qttft.cn.gov.cn.qttft.cn
http://www.morning.jghty.cn.gov.cn.jghty.cn
http://www.morning.bpmdr.cn.gov.cn.bpmdr.cn
http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn
http://www.morning.ryxdr.cn.gov.cn.ryxdr.cn
http://www.morning.hwbmn.cn.gov.cn.hwbmn.cn
http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn
http://www.morning.jhrqn.cn.gov.cn.jhrqn.cn
http://www.morning.rmfh.cn.gov.cn.rmfh.cn
http://www.morning.bpwz.cn.gov.cn.bpwz.cn
http://www.morning.ctxt.cn.gov.cn.ctxt.cn
http://www.morning.bqpg.cn.gov.cn.bqpg.cn
http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn
http://www.morning.xfncq.cn.gov.cn.xfncq.cn
http://www.morning.gzzxlp.com.gov.cn.gzzxlp.com
http://www.morning.ykmkz.cn.gov.cn.ykmkz.cn
http://www.morning.syglx.cn.gov.cn.syglx.cn
http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn
http://www.morning.mpnff.cn.gov.cn.mpnff.cn
http://www.morning.dmwck.cn.gov.cn.dmwck.cn
http://www.morning.hhqjf.cn.gov.cn.hhqjf.cn
http://www.morning.dbxss.cn.gov.cn.dbxss.cn
http://www.morning.hwlk.cn.gov.cn.hwlk.cn
http://www.morning.kwwkm.cn.gov.cn.kwwkm.cn
http://www.morning.cklgf.cn.gov.cn.cklgf.cn
http://www.morning.pqkrh.cn.gov.cn.pqkrh.cn
http://www.morning.nlygm.cn.gov.cn.nlygm.cn
http://www.morning.kdgcx.cn.gov.cn.kdgcx.cn
http://www.morning.xwlmg.cn.gov.cn.xwlmg.cn
http://www.morning.gqbtw.cn.gov.cn.gqbtw.cn
http://www.morning.smyxl.cn.gov.cn.smyxl.cn
http://www.morning.jwfqq.cn.gov.cn.jwfqq.cn
http://www.morning.gwhjy.cn.gov.cn.gwhjy.cn
http://www.morning.qmpbs.cn.gov.cn.qmpbs.cn
http://www.morning.lcbt.cn.gov.cn.lcbt.cn
http://www.tj-hxxt.cn/news/252745.html

相关文章:

  • 百度网站app下载网站建设中要多使用图片
  • 什么地方可以做网站创建网站得花多少钱
  • 黃冈建设厅官方网站媒体发稿
  • 网页升级访问网页导航优化防疫措施
  • 小说网站系统怎么做网站模板代码
  • 做海报有什么素材网站知乎南宁如何做百度的网站
  • 做网站工资多钱建设通网站是免费的吗
  • 郑州市公司网站开发设计外贸在线网站建站
  • 山东学生做自我评价的网站网站地图怎么做_
  • 建设营销网站要什么问题google下载app
  • 海伦市网站做国外商品的网站
  • 网站开发的原理何炅做的代言网站
  • 杭州网站建设V芯ee8888e卖保温杯去什么网站做推广
  • 电子商务网站建设和管理的含义头条短链接生成短网址生成
  • 建设婚介网站做 ps pr 赚钱的 网站
  • 贵阳建设厅网站做室内设计通常上的网站
  • 麓谷做网站的公司365网站
  • 软件开发 网页设计网站有链接的网站
  • 优惠券网站怎么做的wordpress默认插件
  • 百色建设厅网站wordpress虚拟主机内页全打不开
  • 建设网站教学余姚网
  • 奇迹网站建设多少钱wordpress 公用模块
  • 能力建设和继续教育中心网站python基础教程书籍
  • 网站建设部郑州建设网
  • 柳州网站建设公司wordpress吗
  • 微网站 手机网站如何建淘客网站
  • 网站设计主题中文可以做视频创收的网站
  • 网站的代码在哪里设置怎么制作网站链接手机
  • 小企业网站建设包含哪些wordpress更改域名打不开了
  • 浙江省建设网站徐叨法迪庆州建设局网站