手动合并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] 负载均衡带宽
手动合并hadoop namenode editlog的更多相关文章
- Hadoop记录-Hadoop NameNode 高可用 (High Availability) 实现解析
Hadoop NameNode 高可用 (High Availability) 实现解析 NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDF ...
- Hadoop namenode无法启动
最近遇到了一个问题,执行start-all.sh的时候发现JPS一下namenode没有启动 每次开机都得重新格式化一下namenode才可以 其实问题就出在tmp文件,默 ...
- Hadoop NameNode is not formatted.
2014-08-26 20:27:22,712 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered except ...
- hadoop namenode多次格式化后,导致datanode启动不了
jps hadoop namenode -format dfs directory : /home/hadoop/dfs --data --current/VERSION #Wed Jul :: CS ...
- hadoop namenode -format Couldn'tload main class "-Djava.library.path=.home.hadoop.hadoop-2.5.2.lib"
<pre name="code" class="sql">[hadoop@MasterHadoop50 ~]$ hadoop namenode -f ...
- hdfs格式化hadoop namenode -format错误
在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示: [shirdrn@localhost bin]$ hadoop namenod ...
- hadoop namenode格式化问题汇总
hadoop namenode格式化问题汇总 (持续更新) 0 Hadoop集群环境 3台rhel6.4,2个namenode+2个zkfc, 3个journalnode+zookeeper-serv ...
- 对hadoop namenode -format执行过程的探究
引言 本文出于一个疑问:hadoop namenode -format到底在我的linux系统里面做了些什么? 步骤 第1个文件bin/hadoop Hadoop脚本位于hadoop根目录下的bi ...
- 通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置
通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置 配置H ...
随机推荐
- docker基本入门知识-小白向
基本概念 Docker是一个开源项目,前身是dotCloud公司的内部项目,但苦于无法扩大使用和推广,后期开源后吸引大量的开发人员的参与,以至于公司直接改名为Docker Inc. Docker项目的 ...
- String -- 从源码剖析String类
几乎所有的 Java 面试都是以 String 开始的,String 源码属于所有源码中最基础.最简单的一个,对 String 源码的理解也反应了你的 Java 基础功底. String 是如何实现的 ...
- Android事件分发机制一:事件是如何到达activity的?
事件分发,真的一定从Activity开始吗? 前言 很高兴遇见你~ 事件分发,android中一个老生常谈的话题了.基本的流程我们也都知道是从Activity开始分发,但有一个关键问题是:事件是如何到 ...
- JavaScript中的原型、原型链、原型模式
今天,咱来聊聊JavaScript中的原型跟原型链 原型跟原型模式 这一块的知识,主要是设计模式方面的. 首先,我们知道JavaScript是面向对象的.既然是面向对象,那它自然也有相应的类跟对象等概 ...
- 虚拟机linux共享文件夹
linux共享文件夹问题 1. 初配置 2. 挂载 018.7.8 为了实现win7与VMware中linux文件夹共享很花费了一些时间,但终成正果 1. 初配置 虚拟机设置->选项->共 ...
- 【Linux】1、命令行及命令参数
命令行及命令参数 文章目录 命令行及命令参数 1.命令行提示符 2.命令和命令参数 简单的命令 date ls 命令参数 短参数(一个字母) 长参数(多个字母) 参数的值 其它参数 3.小结 4.参考 ...
- 【Linux】reverse mapping checking getaddrinfo for XXX.XXXX.com failed - POSSIBLE BREAKIN ATTEMPT!
------------------------------------------------------------------------------------------------- | ...
- 【RAC】双节点RAC搭建
本文主要是双节点的RAC进行搭建,根据黄伟老师的视频进行总结和使用. 搭建环境: 1.两台安装好Linux_x64系统的服务器 2.IP设置 注意:Priv-IP的IP是自己一个网段,而剩下的SCAN ...
- Kafka 探险 - 生产者源码分析: 核心组件
这个 Kafka 的专题,我会从系统整体架构,设计到代码落地.和大家一起杠源码,学技巧,涨知识.希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 往期文章 Kafka 探险 ...
- MYSQL基础知识的复习2
1.修改表中的数据 update 表名 set 要修改的字段 where 条件;-- 如果修改多个字段那么字段和字段之间用逗号隔开 2.查询(很重要) 1.查询表中部分字段: select 字段名,字 ...