垃圾回收站

在HDFS里,回收站功能开启后,删除文件时,不会真正的删除,暂时是放入回收站.trash中,回收站里的文件可以快速恢复。可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。Hadoop回收站trash,默认是关闭的。

将core-site.xml内fs.trash.interval参数修改为需要回收站保留的时长。

<property>

<name>fs.trash.interval</name>

<value>4320</value>

</property>

默认是0 单位:分钟(这里设置的为4320=3*24*60,即三天保留时间)。

恢复数据:

hdfs dfs –mv 回收站内数据目录 要恢复到的hdfs目录

清空回收站:

·hdfs dfs –expunge

·hdfs dfs –rmr /user/user01/.Trash/*

YARN日志清理

YARN日志

YARN中的id种类繁多,比较乱,下面整理下yarn中常出现的几种id:

1)jobId

描述:出自MapReduce,对作业的唯一标识。

格式:job_${clusterStartTime}_${jobid}

例子:job_1498552288473_2742

2)applicationId

描述:在yarn中对作业的唯一标识。

格式:application_${clusterStartTime}_${applicationId}

例子:application_1498552288473_2742

3)taskId

描述:作业中的任务的唯一标识

格式:task_${clusterStartTime}_${applicationId}_[m|r]_${taskId}

例子:task_1498552288473_2742_m_000000、task_1498552288473_2742_r_000000

4)attempId

描述:任务尝试执行的一次id

格式:attempt_${clusterStartTime}_${applicationId}_[m|r]_${taskId}_${attempId}

例子:attempt_1498552288473_2742_m_000000_0

5)appAttempId

描述:ApplicationMaster的尝试执行的一次id。

格式:appattempt_${clusterStartTime}_${applicationId}_${appAttempId}

例子:appattempt_1498552288473_2742_000001

6)containerId:

描述:container的id

格式:

container_e*epoch*_${clusterStartTime}_${applicationId}_${appAttempId}_${containerId}

例子:

container_e20_1498552288473_2742_01_000032,

container_1498552288473_2742_01_000032

yarn中的日志可分为服务类日志和任务日志两大类:

  1. 服务类日志

诸如ResourceManager、NodeManager等系统自带的服务输出来的日志默认存放在

$HADOOP_HOME/logs目录下,此参数可通过参数YARN_LOG_DIR指定(yarn-env.sh配置文件,当前配置为/e3base/hadoop/logs/)。比如resourcemanager的输出日志为

yarn-${USER}-resourcemanager-${hostname}.log,其中${USER}是指启动resourcemanager进程的用户,${hostname}是resourcemanager进程所在的主机的hostname,nodemanager的输出日志格式为:yarn-${USER}-nodemanager-${hostname}.log,这类日志可以查看当前resourcemanager和nodemanager两个服务的运行情况。

  1. 任务日志
  1. 作业的统计日志:

历史作业的记录里面包含了一个作业用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息;这些信息对分析作业是很有帮助的,我们可以通过这些历史作业记录得到每天有多少个作业运行成功、有多少个作业运行失败、每个队列作业运行了多少个作业等很有用的信息。这部分日志会用于JobHistoryServer。

<property>

<name>mapreduce.jobhistory.intermediate-done-dir</name>

<value>/user/history/idone</value>

</property>

mapred-site.xml

<property>

<name>mapreduce.jobhistory.done-dir</name>

<value>/user/history/done</value>

</property>

  1. 作业的运行日志:

Container日志包含ApplicationMaster日志和普通Task日志等信息,主要包含container的启动脚本,还有container的运行日志。默认情况下,这些日志信息存放在${HADOOP_HOME}/logs/userlogs目录下,我们可以通过下面的配置进行修改。

yarn-site.xml

<property>

<name>yarn.nodemanager.log-dirs</name>

<value>/chunkdata01/yarn/logs,/chunkdata02/yarn/logs,/chunkdata03/yarn/logs,

/chunkdata04/yarn/logs,/chunkdata05/yarn/logs,/chunkdata06/yarn/logs,

/chunkdata08/yarn/logs,/chunkdata09/yarn/logs, /chunkdata10/yarn/logs,

/chunkdata11/yarn/logs,/chunkdata12/yarn/logs</value>

</property>

yarn.nodemanager.log-dirs该参数为存储container容器日志的位置,一个应用程序的本地化日志目录将在${yarn.nodemanager.log-dirs}/application_${appid}中找到。单个容器的日志目录将在其子目录中,在名为的目container_{$contid}录中。每个容器目录将包含由该容器生成的文件stderr, stdin,和 syslog信息,如下图:

日志聚合

从上面作业的运行日志中可以发现,container的日志在一台机器的12块盘上都会存在日志,而且并不知道container的日志会在哪个盘上,默认情况下,每块盘上都会创建相同的applicationid,而且applicationid中都会创建相同的containerid,但是并不是每个container中都会存在日志,这块由container自己的机制选择往哪个container目录中写入日志,其他的container目录则为空。这在一定程度上导致了想查看任务的运行日志比较困难。

日志的聚合功能可以解决这个问题。

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

yarn-site.xml

<property>

<name>yarn.nodemanager.remote-app-log-dir</name>

<value>/tmp/logs</value>

</property>

<property>

<name>yarn.nodemanager.remote-app-log-dir-suffix</name>

<value>logs</value>

</property>

该参数为开启yarn日志聚合功能(默认关闭),会把各nodemanager上的applicaion的所有盘上的container上传到hdfs,hdfs路径由一下两个参数决定:

经过参数修改后:上传到的hdfs路径为:/tmp/logs/${user}/logs(默认位置)

日志聚合机制:

<property>

<name>mapreduce.jobhistory.max-age-ms</name>

<value>604800000</value>

</property>

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>86400</value>

</property>

日志清理

第一个参数为保留hdfs路径/user/history/done下日志的的时间为:1周。

第二个参数为保留hdfs路径/tmp/logs/${user}/logs下日志的时间为:1天。

服务器上的本地日志在任务执行完进行日志聚合之后会自动进行删除。

该参数指:多长时间检查一次日志,并将满足条件的删除,如果是0或者负数,则为上一个值得1/10,已经配置为21600

<property>

<name>yarn.log-aggregation.retain-check-interval-seconds</name>

<value>21600</value>

</property>

(15分钟)。

<property>

<name>yarn.nodemanager.log.retain-seconds</name>

<value>10800</value>

</property>

该参数指:以秒为单位保留用户日志的时间。仅当日志聚合被禁用时才适用。

<property>

<name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>

<value>-1</value>

</property>

该参数指:定义NodeManager上传日志文件的频率。默认值为-1。默认情况下,日志将在应用程序完成时上载。通过设置此配置,可以在应用程序运行时定期上传日志。最小滚动间隔秒可以设置为3600秒。

Hadoop垃圾回收站与YARN日志聚合相关推荐

  1. hadoop yarn 获取日志_Hadoop YARN日志查看方式

    点击关注上方"知了小巷", 设为"置顶或星标",第一时间送达干货. Hadoop YARN日志查看方式 实验环境CDH6.3.2 Hadoop版本 $ hado ...

  2. 12c集群日志位置_大数据系列教程006-开启日志聚合功能

    Container日志是hadoop各个container记录的日志,其中会包含错误或失败的重要信息.如果没有打开日志聚合,默认是分布在各个nodemanager节点上的.如果打开了日志聚合选项,则会 ...

  3. Hadoop之回收站

    一.回收站简介: 在HDFS里,删除文件时,不会真正的删除,其实是放入回收站/trash,回收站里的文件可以快速恢复. 可以设置一个时间阀值,当回收站里文件的存放时间超过这个阀值或是回收站被清空时,文 ...

  4. Hadoop 新 MapReduce 框架 Yarn 详解

    Hadoop MapReduceV2(Yarn) 框架简介 原 Hadoop MapReduce 框架的问题 对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储 ...

  5. Hadoop Trash回收站使用指南

    转载:https://blog.csdn.net/sunnyyoona/article/details/78869778 我们在删除一个文件时,遇到如下问题,提示我们不能删除文件放回回收站: sudo ...

  6. CDH平台YARN日志查看和问题排查

    1.查看YARN中作业的web端口 方式一: 通过ResourceManagerWeb UI 查看日志:( 这种方式可以查看当前正在执行以及历史所有任务) 1.1 先找到 YARN ResourceM ...

  7. 【快速入门大数据】Hadoop项目实战-用户行为日志

    文章目录 用户日志 用处 日志生成渠道 日志内容 意义 离线数据处理架构 分析日志 引入解析UserAgent 单体实现 hadoop-MapReduce实现 效果图 总结 用户日志 用处 分析行为 ...

  8. Hadoop 3.x(Yarn)----【Yarn 资源调度器】

    Hadoop 3.x(Yarn)----[Yarn 资源调度器] 1. Yarn 基础架构 2. Yarn 工作机制 3. 作业提交全过程 4. Yarn 调度器和调度算法 1. 先进先出调度器(FI ...

  9. 【大数据学习】之hdfs垃圾回收站配置

    我们知道linux是没有垃圾回收站的,而hdfs同样默认是没有的,但是hdfs是可以开启垃圾回收站的. 1.我们可以登录官网,选2.8.5版本, https://hadoop.apache.org/d ...

最新文章

  1. 无缓冲 Chan 的发送和接收是否同步
  2. c语言求最小公倍数_分解质因数、互质数、公因数、最大公因数、公倍数、最小公倍数...
  3. 2021 4th ICICT conference presentation notes!
  4. linkedlist增删java,哪位高手可以给一下linkedlist中的常用的增删改查的命令吗?谢谢了!...
  5. Myeclipse8.5 反编译插件 jad 安装
  6. SSAS系列——【05】多维数据(编程体系结构)
  7. mysql主从同步当天数据,mysql主从数据同步
  8. PUSHA/POPA
  9. 自定义exchange由IMF导致的NDR信息
  10. 开始开发HoloLens应用吧 Start Developing HoloLens Apps Today
  11. git把当前修改提交合并到上一条提交如何操作
  12. 矩阵分析 (四)向量和矩阵的范数
  13. arcgis数据量大显示慢_优化MapGIS地图显示速度我的七个方法
  14. web应用的跨域访问解决方案
  15. sma文件服务器,Linux下的文件共享全攻略系列之一:Samba服务器简介与快速配置指南...
  16. 特洛伊木马程序_特洛伊木马Dridex的新变种可避免反病毒软件的检测
  17. 基于Edge插件+格式工厂下载B站上的喜欢视频
  18. 万豪国际集团旗舰酒店品牌正式入驻中国东北地区
  19. 多元函数泰勒级数展开_二元函数的泰勒展开二元函数的泰勒展开.pdf
  20. Python 代码实现ArcGis 标注Label转注记Annotation

热门文章

  1. 全国计算机等级考试二级公共,全国计算机等级考试二级公共基础知识.
  2. 网友反映学校计算机科学与工程学院教师,华南理工大学一院长被指篡改考生成绩 校方:四名涉事人员停职调查...
  3. win10计算机里的工具在哪里设置,win10系统桌面上添加自带日历小工具的设置办法...
  4. MySQL 冷备份操作 + shell 脚本自动备份
  5. GraphX 在图数据库 Nebula Graph 的图计算实践
  6. 【PE结构】由浅入深PE基础学习-菜鸟手动查询导出表、相对虚拟地址(RVA)与文件偏移地址转换(FOA)...
  7. HTML CSS基本知识点总结
  8. CentOS7环境安装oracleRAC集群遇到的问题总结二(执行root.sh报错ORA-15018和ORA-15020)
  9. C#:实现公历转农历算法(附完整源码)
  10. 高通量测序与杂交优势