国际设计师网站,网络营销培训机构,wordpress 社区 论坛 主题,济南网站建设和优化一、WebUI 使用 与HDFS一样#xff0c;YARN也提供了一个WebUI服务#xff0c;可以使用YARN Web用户界面监视群集、队列、应用程序、服务、流活动和节点信息。还可以查看集群详细配置的信息#xff0c;检查各种应用程序和服务的日志。
1.1 首页
浏览器输入http://node2.itc…一、WebUI 使用 与HDFS一样YARN也提供了一个WebUI服务可以使用YARN Web用户界面监视群集、队列、应用程序、服务、流活动和节点信息。还可以查看集群详细配置的信息检查各种应用程序和服务的日志。
1.1 首页
浏览器输入http://node2.itcast.cn:8088/访问YARN WebUI服务页面打开后以列表形式展示已经运行完成的各种应用程序如MapReduce应用、Spark应用、Flink应用等与点击页面左侧Application栏目红线框Applications链接显示的内容一致。 1.2 应用程序分析
当点击任意一个应用程序时会打开一个新页面并展示这个应用程序的运行信息。以MR应用为例如果应用程序正在运行打开的页面如图10-1-2所示如果应用程序已经运行完成打开的页面如下图所示。
正在运行的MR应用程序 运行完成的MR应用程序
二、HistoryServer 服务 YARN中提供了一个叫做JobHistoryServer的守护进程它属于YARN集群的一项系统服务仅存储已经运行完成的MapReduce应用程序的作业历史信息并不会存储其他类型如Spark、Flink等应用程序的作业历史信息。
当启用JobHistoryServer服务时仍需要开启日志聚合功能否则每个Container的运行日志是存储在NodeManager节点本地查看日志时需要访问各个NodeManager节点不利于统一管理和分析。当开启日志聚合功能后AM会自动收集每个Container的日志并在应用程序完成后将这些日志移动到文件系统例如HDFS。然后通过JHS的WebUI服务来提供用户使用和应用恢复。
2.1 启用 JHS 服务
在【mapred-site.xml】文件中配置指定JobHistoryServer服务地址和端口号具体操作如下。
编辑文件 [rootnode1 ~]# vim /export/server/hadoop/etc/hadoop/mapred-site.xml
添加属性配置 property namemapreduce.jobhistory.address/name valuenode1.itcast.cn:10020/value /property property namemapreduce.jobhistory.webapp.address/name valuenode1.itcast.cn:19888/value /property property namemapreduce.jobhistory.intermediate-done-dir/name value/mr-history/intermediate/value /property property namemapreduce.jobhistory.done-dir/name value/mr-history/done/value /property
同步mapred-site.xml文件到集群其他机器命令如下 [rootnode1 ~]# cd /export/server/hadoop/etc/hadoop [rootnode1 hadoop]# scp -r mapred-site.xml rootnode2.itcast.cn:$PWD [rootnode1 hadoop]# scp -r mapred-site.xml rootnode3.itcast.cn:$PWD 2.2 启用日志聚合
首先配置运行在YARN上应用的日志聚集功能当应用运行完成将日志相关信息上传至HDFS文件系统编辑文件【yarn-site.xml】和添加属性配置。
编辑文件 [rootnode1 ~]# vim /export/server/hadoop/etc/hadoop/yarn-site.xml
添加属性配置 property nameyarn.log-aggregation-enable/name valuetrue/value /property property nameyarn.nodemanager.remote-app-log-dir/name value/app-logs/value /property property nameyarn.log.server.url/name valuehttp://node1.itcast.cn:19888/jobhistory/logs/value /property
同步yarn-site.xml文件到集群其他机器命令如下 [rootnode1 ~]# cd /export/server/hadoop/etc/hadoop [rootnode1 hadoop]# scp -r yarn-site.xml rootnode2.itcast.cn:$PWD [rootnode1 hadoop]# scp -r yarn-site.xml rootnode3.itcast.cn:$PWD 2.3 启动 JHS 服务
在上述配置中指定的JHS服务位于【node1.itcast.cn】节点上在【node1.itcast.cn】节点中启动JobHistoryServer服务。
启动命令如下 [rootnode1 ~]# mr-jobhistory-daemon.sh start historyserver
或者如下命令 [rootnode1 ~]# mapred --daemon start historyserver 浏览器查看http://node1.itcast.cn:19888/jobhistory
2.4 JHS 管理 MR 应用
当提交运行MapReduce程序在YARN上运行完成以后将应用运行日志数据上传到HDFS上此时JobHistoryServer服务可以从HDFS上读取运行信息在WebUI进行展示具体流程如下。
2.4.1 提交MR应用程序
使用yarn jar提交运行官方自带词频统计WordCount程序到YARN上运行命令如下 [rootnode1 ~]# yarn jar \ /export/server/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar \ wordcount \ /datas/input.data /datas/output
运行MR程序显示日志信息 2021-02-25 19:13:43,059 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm2 2021-02-25 19:13:43,278 INFO mapreduce.JobResourceUploader: Disabling Erasure Coding for path: /tmp/hadoop-yarn/staging/root/.staging/job_1614243659295_0002 2021-02-25 19:13:43,518 INFO input.FileInputFormat: Total input files to process : 1 2021-02-25 19:13:43,619 INFO mapreduce.JobSubmitter: number of splits:1 2021-02-25 19:13:43,816 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1614243659295_0002 2021-02-25 19:13:43,818 INFO mapreduce.JobSubmitter: Executing with tokens: [] 2021-02-25 19:13:44,007 INFO conf.Configuration: resource-types.xml not found 2021-02-25 19:13:44,008 INFO resource.ResourceUtils: Unable to find resource-types.xml. 2021-02-25 19:13:44,077 INFO impl.YarnClientImpl: Submitted application application_1614243659295_0002 2021-02-25 19:13:44,136 INFO mapreduce.Job: The url to track the job: http://node3.itcast.cn:8088/proxy/application_1614243659295_0002/ 2021-02-25 19:13:44,137 INFO mapreduce.Job: Running job: job_1614243659295_0002 2021-02-25 19:13:51,321 INFO mapreduce.Job: Job job_1614243659295_0002 running in uber mode : false 2021-02-25 19:13:51,322 INFO mapreduce.Job: map 0% reduce 0% 2021-02-25 19:13:57,474 INFO mapreduce.Job: map 100% reduce 0% 2021-02-25 19:14:02,544 INFO mapreduce.Job: map 100% reduce 100% 2021-02-25 19:14:03,564 INFO mapreduce.Job: Job job_1614243659295_0002 completed successfully 2021-02-25 19:14:03,687 INFO mapreduce.Job: Counters: 53 File System Counters FILE: Number of bytes read65 FILE: Number of bytes written446779 FILE: Number of read operations0 FILE: Number of large read operations0 FILE: Number of write operations0 HDFS: Number of bytes read205 HDFS: Number of bytes written39 HDFS: Number of read operations8 HDFS: Number of large read operations0 HDFS: Number of write operations2 Job Counters Launched map tasks1 Launched reduce tasks1 Data-local map tasks1 Total time spent by all maps in occupied slots (ms)3439 Total time spent by all reduces in occupied slots (ms)3085 Total time spent by all map tasks (ms)3439 Total time spent by all reduce tasks (ms)3085 Total vcore-milliseconds taken by all map tasks3439 Total vcore-milliseconds taken by all reduce tasks3085 Total megabyte-milliseconds taken by all map tasks3521536 Total megabyte-milliseconds taken by all reduce tasks3159040 Map-Reduce Framework Map input records3 Map output records16 Map output bytes160 Map output materialized bytes65 Input split bytes109 Combine input records16 Combine output records5 Reduce input groups5 Reduce shuffle bytes65 Reduce input records5 Reduce output records5 Spilled Records10 Shuffled Maps 1 Failed Shuffles0 Merged Map outputs1 GC time elapsed (ms)100 CPU time spent (ms)2170 Physical memory (bytes) snapshot506044416 Virtual memory (bytes) snapshot5578981376 Total committed heap usage (bytes)360185856 Peak Map Physical memory (bytes)280317952 Peak Map Virtual memory (bytes)2785366016 Peak Reduce Physical memory (bytes)225726464 Peak Reduce Virtual memory (bytes)2793615360 Shuffle Errors BAD_ID0 CONNECTION0 IO_ERROR0 WRONG_LENGTH0 WRONG_MAP0 WRONG_REDUCE0 File Input Format Counters Bytes Read96 File Output Format Counters Bytes Written39
2.4.2 MR运行历史信息
MR应用程序在运行时是通过AMMRAppMaster类将日志写到HDFS中会生成.jhist、.summary和_conf.xml文件。其中.jhist文件是MR程序的计数信息.summary文件是作业的摘要信息_conf.xml文件是MR程序的配置信息。
MR应用程序启动时的资源信息
MR应用程序启动时会把作业信息存储到${yarn.app.mapreduce.am.staging-dir}/${user}/.staging/${job_id}目录下。 yarn.app.mapreduce.am.staging-dir/tmp/hadoop-yarn/staging默认 MR应用程序运行完成时生成的信息
MR应用程序运行完成后作业信息会被临时移动到${mapreduce.jobhistory.intermediate-done-dir}/${user}目录下。 mapreduce.jobhistory.intermediate-done-dir/mr-history/intermediate配置 MR应用程序最终的作业信息
等待${mapreduce.jobhistory.move.interval-ms}配置项的值默认180000毫秒3分钟后会把${mapreduce.jobhistory.intermediate-done-dir}/${user}下的作业数据移动到${mapreduce.jobhistory.done-dir}/${year}/${month}/${day}/${serialPart}目录下。此时.summary文件会被删除因为.jhist文件提供了更详细的作业历史信息。
JHS服务中的作业历史信息不是永久存储的在默认情况下作业历史清理程序默认按照86400000毫秒一天的频率去检查要删除的文件只有在文件早于mapreduce.jobhistory.max-age-ms一天时才进行删除。JHS的历史文件的移动和删除操作由HistoryFileManager类完成。 mapreduce.jobhistory.intermediate-done-dir/mr-history/intermediate配置 mapreduce.jobhistory.intermediate-done-dir/mr-history/done配置 mapreduce.jobhistory.cleaner.enable: true默认 mapreduce.jobhistory.cleaner.interval-ms: 864000001天 mapreduce.jobhistory.max-age-ms: 864000001天 2.4.3 JHS 运行流程
客户端提交MR应用程序到RM在/tmp/logs/user/logs/application_timestamp_xxxx中创建应用程序文件夹MR作业在群集上的YARN中运行MR作业完成在提交作业的作业客户上报告作业计数器将计数器信息.jhist文件和job_conf.xml文件写入/user/history/done_intermediate/user/job_timestamp_xxxx然后将.jist文件和job_conf.xml从/user/history/done_intermediate/user/移动到/user/history/done目录下来自每个NM的Container日志汇总到/tmp/logs/用户ID/logs/application_timestamp_xxxx
2.5 JHS WebUI
JobHistoryServer服务WebUI界面相关说明
2.5.1 首页
浏览器输入http://node1.itcast.cn:19888 访问JHS服务页面打开后以列表形式展示已经运行完成的MR应用程序,与点击页面左侧Application栏目红线框jobs链接显示的内容一致。 2.5.2 JHS 构建说明
浏览器输入 http://node1.itcast.cn:19888/jobhistory/about 地址或者在点击页面左侧Application栏目下红线框about链接后会展示JHS服务的构建版本信息和启动时间。 2.5.3 MR应用程序查看
在JHS作业列表点击任意一个作业 作业信息查看 2.5.4 JHS 配置
浏览器输入 http://node1.itcast.cn:19888/conf 或点击页面左侧Tools栏目中的红线框configuration链接会打开JHS的所需配置页面在配置页面中主要有集群自定义配置core-site.xml、hdfs-site.xml、yarn-site.xml和mapred-site.xml和集群默认配置core-default.xml、hdfs-default.xml、yarn-default.xml和mapred-default.xml两种。配置页面中的配置项较多截图为部分展示。
2.5.5 JHS 本地日志
浏览器输入 http://node1.itcast.cn:19888/logs/ 地址或点击页面左侧Tools栏目中的红线框local logs链接会打开JHS服务的所在节点的log文件列表页面。 2.5.6 JHS 堆栈信息
浏览日输入 http://node1.itcast.cn:19888/stacks 地址或点击页面左侧Tools栏目中的红线框Server stacks链接会打开JHS服务的堆栈转储信息。stacks功能会统计JHS服务的后台线程数、每个线程的运行状态和详情。这些线程有MoveIntermediateToDone线程、JHS的10020 RPC线程、JHS的10033 Admin接口线程、HDFS的StatisticsDataReferenceCleaner线程、JHS服务度量系统的计时器线程、DN的Socket输入流缓存线程和JvmPauseMonitor线程等。 三、TimelineServer 服务
由于Job History Server仅对MapReduce应用程序提供历史信息支持其他应用程序的历史信息需要分别提供单独的HistoryServer才能查询和检索。例如Spark的Application需要通过Spark自己提供的org.apache.spark.deploy.history.HistoryServer来解决应用历史信息。
为了解决这个问题YARN新增了Timeline Server组件以通用的方式存储和检索应用程序当前和历史信息。
到目前有V1、V1.5和V2共三个版本V1仅限于写入器/读取器和存储的单个实例无法很好地扩展到小型群集之外V2还处于alpha状态所以在本章以V1.5进行讲解。 版本 说明 V1 基于LevelDB实现。 V1.5 在V1的基础上改进了扩展性。 V2 1.使用更具扩展性的分布式写入器体系结构和可扩展的后端存储。 2.将数据的收集写入与数据的提供读取分开。它使用分布式收集器每个YARN应用程序实质上是一个收集器。读取器是专用于通过REST API服务查询的单独实例。 3.使用HBase作为主要的后备存储因为Apache HBase可以很好地扩展到较大的大小同时保持良好的读写响应时间。 4.支持在流级别汇总指标。
官方文档
Apache Hadoop 3.1.4 – The YARN Timeline Server
Apache Hadoop 3.1.4 – The YARN Timeline Service v.2
YARN Timeline Service v.2 服务架构图如下
3.1 启用 Timeline 服务
在【yarn-site.xml】配置文件中添加如下属性启动Timeline Server服务功能 property nameyarn.timeline-service.enabled/name valuetrue/value /property property nameyarn.timeline-service.hostname/name valuenode2.itcast.cn/value description设置YARN Timeline服务地址/description /property property nameyarn.timeline-service.address/name valuenode2.itcast.cn:10200/value description设置YARN Timeline服务启动RPC服务器的地址默认端口10200/description /property property nameyarn.timeline-service.webapp.address/name valuenode2.itcast.cn:8188/value description设置YARN Timeline服务WebUI地址/description /property property nameyarn.resourcemanager.system-metrics-publisher.enabled/name valuetrue/value description设置RM是否发布信息到Timeline服务器/description /property property nameyarn.timeline-service.generic-application-history.enabled/name valuetrue/value description设置是否Timelinehistory-servic中获取常规信息,如果为否,则是通过RM获取/description /property
同步yarn-site.xml文件到集群其他机器命令如下 [rootnode1 ~]# cd /export/server/hadoop/etc/hadoop [rootnode1 hadoop]# scp -r yarn-site.xml rootnode2.itcast.cn:$PWD [rootnode1 hadoop]# scp -r yarn-site.xml rootnode3.itcast.cn:$PWD
重启YARN服务命令如下所示 [rootnode2 ~]# stop-yarn.sh [rootnode2 ~]# start-yarn.sh 3.2 启动 Timeline 服务
在上述配置中指定的Timeline服务位于【node2.itcast.cn】节点上需要在【node2.itcast.cn】节点的shell客户端中启动如果在非【node2.itcast.cn】节点上启动时会报错。
启动命令如下 [rootnode2 ~]# yarn --daemon start timelineserver
在浏览器中输入http://node2.itcast.cn:8188/applicationhistory