前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >上次Checkpoint以来事务总数说明

上次Checkpoint以来事务总数说明

原创
作者头像
EMR小助手
修改2022-08-19 11:19:52
4350
修改2022-08-19 11:19:52
举报
文章被收录于专栏:腾讯云大数据与AI专家服务

问题描述:namenode长时间未做checkpoint

原因:

  • standby NameNode被停止或实例运行状态异常。
  • standby NameNode合并新的FsImage失败。
  • standby或active NameNode数据目录空间不足。
  • standby NameNode推送FsImage到active NameNode失败。

可能影响:

  • HDFS元数据checkpoint功能异常,Editlog会一直增长,重启HDFS 主nameNode,要加载Editlog非常多,导致启动耗时很长
  • Namenode的HA机制失效,主Namenode故障,HDFS服务将不可用

处理建议:

HDFS的元数据信息存储在NameNode数据目录(由配置项“dfs.namenode.name.dir”指定)中的FsImage文件中。standby NameNode会周期将已有的FsImage和JournalNode中存储的Editlog合并生成新的FsImage,然后推送到active NameNode的数据目录。这个周期由HDFS的配置项“dfs.namenode.checkpoint.period”指定,默认为3600秒,即1个小时。如果active NameNode数据目录的FsImage没有更新,则说明HDFS元数据合并功能异常,需要修复

  • 查看standby NameNode是否被停止或实例运行状态是否正常。

      1、EMR控制台首页,选择“集群服务>HDFS>角色管理” ,查看standby namenode的“健康状态”是否为“良好”,若为否,执行2

      2、在“角色管理”界面 选中standby namenode项,点击“重启服务”,等待启动完成。若启动失败,执行4;若成功,执行3

      3、等待1个NameNode合并元数据的周期时间(EMR的 namenode checkpoint周期为默认值3600秒)后,执行“集群巡检”,检查告警是否恢复

  • standby NameNode合并新的FsImage是否失败。

      5、在“集群服务>HDFS>配置管理”,选中hdfs-site.xml文件,获取配置项“dfs.namenode.name.dir”的值,emr默认为“/data/emr/hdfs/namenode”,该值即为standby的NameNode的FsImage存储目录。

      6、在“集群服务>HDFS>角色管理”,获取namenode 主备IP地址

      7、用hadoop用户登录standby namenode机器,进入到FsImage存储目录,查看最新的FsImage的生成时间,如下,与当前机器系统时间(执行date命令查看)相减,若小于合并周期,执行4;若大于,执行8

查看最新的FsImage的生成时间

代码语言:javascript
复制
cd /data/emr/hdfs/namenode/current
stat -c %y $(ls -t | grep "fsimage_[0-9]*$" | head -1)

      8、备NameNode合并元数据的功能异常。执行以下命令查看是否为存储空间不足造成。

            进入到FsImage存储目录,查看最近一个的FsImage的大小(单位为MB),如下。

查看最近一个的FsImage的大小

代码语言:javascript
复制
cd  /data/emr/hdfs/namenode/current/current
du -m $(ls -t | grep "fsimage_[0-9]*$" | head -1) | awk '{print $1}'

        9、执行命令查看备NameNode的磁盘剩余空间(单位为MB),若剩余空间不能存储一个FsImage文件,执行10,若大于,执行4

代码语言:javascript
复制
df -m ./ | awk 'END{print $4}'

       10、清理该目录所在磁盘的冗余文件,以便给元数据存放预留足够的空间。空间清理完毕后等待1个NameNode合并元数据的周期时间,执行“集群巡检”,检查告警是否恢复。

  • 查看standby NameNode推送FsImage到active NameNode是否失败。

       11、使用root用户如下命令查看standby NameNode是否能将文件推送到active NameNode上。若成功,执行4,若失败,排查安全组问题

        tmpFile=/tmp/tmp_test_$(date +%s)

        echo "test" > $tmpFile

         scp $tmpFile activeNameNode的业务IP:/tmp

  • 查看active NameNode数据目录空间是否不足。

          参考步骤8~10

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述:namenode长时间未做checkpoint
  • 原因:
  • 可能影响:
  • 处理建议:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档