手动合并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 ...
随机推荐
- Java入门-jdk安装与环境搭建
计算机 计算机的组成:硬件+软件 1.硬件 1.1CPU 好比人的大脑 主要负责数据的运算以及控制 1.2内存 存储数据(临时存储) 缺点: 如果断电,数据丢失 如果程序关闭或退出,数据丢失 1.3硬 ...
- 【Flutter】容器类组件之填充
前言 Padding可以给其子节点添加填充(留白). 接口描述 class EdgeInsets extends EdgeInsetsGeometry { // 分别指定四个方向的填充 const E ...
- 2021新年 Vue3.0 + Element UI 尝鲜小记
2021年,又是新的一年,Vue 已经发布 3.0 版本,最好用的 UI 组件库 Element UI 也发布了适配 Vue3.0 的新版本,是时候开始学习一下这两个新技术. 本文主要记录了使用 Vu ...
- 剑指 Offer 16. 数值的整数次方
实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 来源:力扣(LeetCode) 链接 ...
- python常见题型
语言特性 1. 谈谈对 Python 和其他语言的区别 2. 简述解释型和编译型编程语言 3. Python 的解释器种类以及相关特点? 4. Python3 和 Python2 的区别? 5. Py ...
- ASP.NET Core错误处理中间件[1]: 呈现错误信息
NuGet包"Microsoft.AspNetCore.Diagnostics"中提供了几个与异常处理相关的中间件.当ASP.NET Core应用在处理请求过程中出现错误时,我们可 ...
- 没搞清楚网络I/O模型?那怎么入门Netty
微信搜索[阿丸笔记],关注Java/MySQL/中间件各系列原创实战笔记,干货满满. 本文是Netty系列笔记第二篇 Netty是网络应用框架,所以从最本质的角度来看,是对网络I/O模型的封装使用. ...
- 【TOMCAT】windows7下tomcat6环境部署
首先,下载一个tomcat6的部署包 地址http://download.csdn.net/download/imliuqun123/10156942 需要部署安装的win7环境变量: 1.jdk环境 ...
- kubernets之pv以及pvc
一 持久卷以及持久卷声明的由来 由于不管是哪种卷,开发者都需要提前预知kubernets集群里面的存储类型,这样就在一定程度上违背了kubernets集群的设计理念,kubernets的设计理念是在由 ...
- CTFHub - Web(三)
密码口令: 弱口令: 1.随意输入账号密码,抓包, 2.右击,"Send to Intruder",打开选项卡Intruder,点击position,椭圆框处软件已经自动为我们把要 ...