Hadoop入门 集群崩溃的处理方法
集群崩溃的处理方法
搞崩集群
hadoop102
hadoop103
hadoop104
此时HDFS Web端的文件是不可以下载的,因为三个副本都删除了。
错误示范
最先想到的是格式化集群
[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format
提示需要先停掉集群,正常情况下先把yarn停掉
[ranan@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh
[ranan@hadoop102 hadoop-3.1.3]$ sbin/stop-dfs.sh
启动集群,发现集群正常启动,但是NameNode没了
[ranan@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
查看目录,发现删除了DataNode中的name
那就格式NameNode,之前并没有成功格式化。
[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format
格式化之后,发现name文件夹有了,进去查看版本号。发现两次的版本号不一样。
[ranan@hadoop102 hadoop-3.1.3]$ cd data/dfs/name/current
[ranan@hadoop102 current]$ cat VERSION
此时进入HDFS网页,发现进不去了
查看发现namenode还是没有启动
那该怎么办?
正确处理方法
1 回到hadoop的家目录
2 杀死进程
[ranan@hadoop102 hadoop-3.1.3]$ sbin/stop-dfs.sh
3 删除每个集群的data和logs
[ranan@hadoop102 hadoop-3.1.3]$ rm -rf data logs
[ranan@hadoop103 hadoop-3.1.3]$ rm -rf data logs
[ranan@hadoop104 hadoop-3.1.3]$ rm -rf data logs
4 格式化
[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format
5 启动集群
[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format
重启成功,但是数据都被清空了
总结
1.先停HDFS服务
2.清除所有节点的历史data和logs
3.格式化NameNode
4.重新启动
原因分析
格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式化。
namenode,datanode都有自己的版本号。namenode和datanode是一一绑定的。
格式化以后的namenode是匹配不上没有格式化以前的datanode。
版本要能匹配的上
Hadoop入门 集群崩溃的处理方法的更多相关文章
- Hadoop入门 集群常用知识与常用脚本总结
目录 集群常用知识与常用脚本总结 集群启动/停止方式 1 各个模块分开启动/停止(常用) 2 各个服务组件逐一启动/停止 编写Hadoop集群常用脚本 1 Hadoop集群启停脚本myhadoop.s ...
- Hadoop入门 集群时间同步
集群时间同步 如果服务器在公网环境(能连接外网),可以不采用集群时间同步.因为服务器会定期和公网时间进行校准. 如果服务器在内网环境,必须要配置集群时间同步,否则时间久了,会产生时间偏差,导致集群执行 ...
- hadoop集群崩溃,因为tmp下/tmp/hadoop-hadoop/dfs/name文件误删除
hadoop执行start-all后,显示正常启动. starting namenode, logging to /opt/hadoop-0.20.2-cdh3u0/logs/hadoop-hadoo ...
- hadoop+spark集群搭建入门
忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...
- 使用Docker在本地搭建Hadoop分布式集群
学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...
- 超快速使用docker在本地搭建hadoop分布式集群
超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...
- Hadoop基础-Hadoop的集群管理之服役和退役
Hadoop基础-Hadoop的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,如果是上千万规模的集群,难免一个一个月会有那么几台服务器出点故 ...
- 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)
1)集群规划:主机名 IP 安装的软件 运行的进程master 192.168.199.130 jdk.hadoop ...
- 基于zookeeper的高可用Hadoop HA集群安装
(1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856 (2)hadoop2.7.1安装准备 http://aperise.iteye.com ...
随机推荐
- JAVA笔记11__File类/File类作业/字节输出流、输入流/字符输出流、输入流/文件复制/转换流
/** * File类:文件的创建.删除.重命名.得到路径.创建时间等,是唯一与文件本身有关的操作类 */ public class Main { public static void main(St ...
- Shadertoy 教程 Part 5 - 运用SDF绘制出更多的2D图形
Note: This series blog was translated from Nathan Vaughn's Shaders Language Tutorial and has been au ...
- tcp 三次握手建立连接难点总结
所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包. 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号 ...
- Ubuntu中python的mysql操作
1.在已经安装了python和MySQL数据库的前提下使用pip3 install PyMySQL命令 2. 建立链接: (1)首先使用命令python 进入编程模式,再导入包: import pym ...
- Laravel/Lumen 分组求和问题 where groupBy sum
在Laravel中使用分组求和,如果直接使用Laravel各数据库操作方法,应该会得出来如下代码式: DB::table('table_a') ->where('a','=',1) ->g ...
- 【java+selenium3】隐式等待+显式等待 (七)
一.隐式等待 -- implicitlyWait 调用方式:driver.manage().timeouts().implicitlyWait(long time, TimeUnit unit); / ...
- HTML 简单介绍
1.什么是HTML > HTML是用来描述网页的一种语言 > HTML指的是超文本标记语言(Hyper Text Markup Language) > 标记语言是一套标记标签(mar ...
- 重装系统——联想window 10
大四了,读了四年大学,唉,混的,啥也不会,工作也找不到,真的不知道这大学四年到底干了什么.专业是计算机方向的,但居然,不敢,也不会装电脑系统,大学四年的文件都是乱放的,更那个的是,有些软件卸载不完全, ...
- Redis Stream类型的使用
一.背景 最近在看redis这方面的知识,发现在redis5中产生了一种新的数据类型Stream,它和kafka的设计有些类似,可以当作一个简单的消息队列来使用. 二.redis中Stream类型的特 ...
- 【Java】IO流
File类 介绍 File类的一个对象,代表一个文件或一个文件目录 File类声明在java.io包下 File类中涉及关于文件或文件目录的创建.删除.重命名.修改时间.文件大小等方法,并未涉及到写入 ...