手动合并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 ...
随机推荐
- LeetCode-151-中等-翻转字符串里面的单词
问题描述 给定一个字符串,逐个翻转字符串中的每个单词. 说明: 无空格字符构成一个 单词 . 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括. 如果两个单词间有多余的空格,将反转 ...
- InheritableThreadlocal使用问题排查
背景 在做一个微服务系统的时候,我们的参数一般都是接在通过方法定义来进行传递的,类似这样 public void xxx(Param p, ...){ // do something } 然后这时有个 ...
- Kafka底层原理剖析(近万字建议收藏)
Kafka 简介 Apache Kafka 是一个分布式发布-订阅消息系统.是大数据领域消息队列中唯一的王者.最初由 linkedin 公司使用 scala 语言开发,在2010年贡献给了Apache ...
- puppetlabs地址
https://yum.puppetlabs.com/el/6Server/products/i386/ rpm -Uvh http://yum.puppetlabs.com/el/6Server/ ...
- bash5.0参考手册
Bash Reference Manual a.summary-letter { text-decoration: none } blockquote.indentedblock { margin-r ...
- 国人之光:大数据分析神器Apache Kylin
一.简介 Apache Kylin是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献 ...
- Ubuntu Terminal命令行新建仓库并推送到远程仓库
通常情况下,在本地新建一个仓库之后,需要在远端网页端也新建一个空的同名仓库,然后将两者进行关联才能推送. 那有没有办法直接在命令行就完成从新建到推送的过程而不需要中间在网页端也操作一番呢?办法当然是有 ...
- Ice系列--强大如我IceGrid
前言 IceGrid是一个提供服务定位和服务激活的组件,但它的功能远不止于此.从它的命名可以看出它的设计理念-网格计算(grid computing).网格计算被定义为由一系列关联的廉价计算机组成的计 ...
- mysql+MHA高可用
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀 ...
- ajax异步实现文件分片上传
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...