zoukankan      html  css  js  c++  java
  • 手动合并hadoop namenode editlog

    一. 基本概念

    1.NN恢复实际上是由fsimage开始(这个相当于数据的base),如果有多个fsimage,会自动选择最大的fsimage,然后按照editlog序列日志开始执行日志

    2.seen_txid文件里的值是当前的最大editlog值。如果nn正在运行,则是edits_inprogress_0000000003336594610 中的3336594610 ;如果NN已经挂了,则是序列最大的那个edits_0000000003332374206-0000000003334396028的下一个值:3334396029

    3.在secondnn模式(冷备)和ha(热备)的standby模式下都是由nn的备份节点定期做checkpoint进行merge

    4.NameNode:存储元数据,元数据存在内存和磁盘,保存文件—block DataNode之间的映射关系;

    5.DataNode:存文件内容,磁盘上,维护block id 到datanode本地文件的映射

    6.SecondaryNameNode:将NameNode的fsimage与edit log从NameNode复制到临时目录 将fsimage同edit log合并并产生新的fsimage  将产生的新的fsimage上传给NameNode 清除NameNode中的edit log

    7.NameNode是单点,SecondaryNameNode可以认为是NameNode的备份,不是热切,可能会丢数据。

    二. 手动恢复:

    1.sudo su - 进入root用户,cd ${dfs.namenode.name.dir}目录下(可以在hadoop的conf下的hdfs-site.xml文件查看配置)

    2. hadoop dfsadmin -safemode enter(进入安全模式)
    3. hadoop dfsadmin -saveNamespace(保存内存信息到磁盘)
    4. sudo /sbin/stop hadoop-hdfs-namenode(关闭NN)
    5. cd /mnt/namenode/current/
    6. rm /mnt/namenode/current/edits*(删除editlog)
    7. sudo /sbin/start hadoop-hdfs-namenode(重启NN)

    三.常用命令:

    hadoop fs命令

    ls(显示一层) lsr(递归)

    du(显示所有文件及大小)  dus(文件夹大小)  count(多少个文件、大小)

    hadoop fs –help mv  帮助

    mv(移动)

    cp(复制)

    rm(删除) rmr(递归删除)

    mkdir(新文件夹)

    put(从本地文件复制到hdfs)

    get(从hdfs复制到本地)

    getmerge(合并目录中到多个文件 到 本地系统)

    copyFromLocal(从本地拷贝到hdfs)

    movelFromLocal(从本地移动到hdfs)

    copyToLocal(从hdfs拷贝到本地)

    text(允许压缩包)

    cat(输出到控制台)

    stat(分析,如修改时间 块大小 复制)

    setrep(指定备份几份)

    touchz(往文件写一个时间戳 内容是yyyy-MM-dd HH:mm:ss(文件必须零长度))

    tail

    chmod  chowm chgrp

    关于hadoop fs -setrep(命令修改副本数)

    setrep

    Usage: hadoop fs -setrep [-R] [-w] <numReplicas> <path>

    Changes the replication factor of a file. If path is a directory then the command recursively
    changes the replication factor of all files under the directory tree rooted at path.

    Options:

    The -w flag requests that the command wait for the replication to complete. This can potentially take a very long time.
    The -R flag is accepted for backwards compatibility. It has no effect.

    Example:

        hadoop fs -setrep -w 3 /user/hadoop/dir1

    Exit Code:

    Returns 0 on success and -1 on error.

    hdfs dfsadmin –report    dfs信息

    hdfs dfsadmin –savemode  enter 进入  leave 离开  get得到当前状态 wait等待结束

    hdfs dfsadmin –saveNamespace 保存内存信息到磁盘

    hdfs dfsadmin –saveNamespace 保存内存信息到磁盘(必须安全模式)

    hdfs dfsadmin –refreshNodes 比如新加节点 重新通信

    hdfs dfsadmin –upgradeProgress status 升级信息

    hdfs dfsadmin –finalizeUpgrade 停止升级

    hdfs dfsadmin –metasave filename 存meta到本地文件

    hdfs dfsadmin –setQuota 2 path 最多放几个文件(从现在开始的)

    hdfs dfsadmin –clrQuota 2 path 清除

    hdfs dfsadmin –setSpaceQuota 2 path  (包含当前的)

    hdfs dfsadmin –clrSpaceQuota 2 path  (包含当前的)

    hdfs dfsadmin –setBalancerBandwidth [byte per second] 负载均衡带宽

  • 相关阅读:
    测测两人的关系.一个小程序,根据用户输入的名字得到笔画数!
    手把手教你做下拉菜单篇
    防止网页内容被复制的最佳方法!
    陈寿福被抓所思二三事!
    测测两人的关系.一个小程序,根据用户输入的名字得到笔画数!
    树状数组
    scanf和cin
    二分答案
    赛后总结
    更新ssl证书后 file_get_contents()方法失效
  • 原文地址:https://www.cnblogs.com/qfdy123/p/13536372.html
Copyright © 2011-2022 走看看