-
2019-06-28 11:41:03
问题原因:
namenode格式化只需要在hdfs所在主机上格式化一次即可,如果多次格式化且没有删除hadoop目录下的tmp临时文件时就有可能会报错。因为namenode每次格式化都会更新clusterID,但datanode只会保持第一次的ID,所以导致两个ID不匹配的问题。
解决方案:- 在hdfs-site.xml中,按照日志信息将不一致的clusterID改为一致
- 将hadoop目录下的data和logs文件夹删除掉,再对namenode进行格式化,此时格式化后系统会自动让namenode和datanode的clusterID保持一致,问题就解决了。
更多相关内容 -
Hadoop NameNode格式化
2022-01-19 19:30:08格式化NameNode后集群的数据会全部丢失,格式化之前需做好数据备份工作。 格式化步骤 格式化之前,首先需删除Hadoop系统日志,默认路径为${HADOOP_HOME}/logs。 然后删除主节点目录以及数据节点目录,默认路径分别...前言
格式化NameNode后集群的数据会全部丢失,格式化之前需做好数据备份工作。
格式化步骤
- 格式化之前,首先需删除Hadoop系统日志,默认路径为${HADOOP_HOME}/logs。
- 然后删除主节点目录以及数据节点目录,默认路径分别为${hadoop.tmp.dir}/dfs/name和${hadoop.tmp.dir}/dfs/data。hadoop.tmp.dir默认值是/tmp/hadoop-${user.name},可以在core-site.xml配置文件中的hadoop.tmp.dir属性设置。而上面的主节点目录和数据节点目录也可以在hdfs-site.xml配置文件中的dfs.namenode.name.dir和dfs.namenode.data.dir属性中设置。
(在dfs/name/current目录下的VERSION文件中记录集群的版本信息,其中clusterID是集群版本标识,每次format都会生成不同的ID。在dfs/data/current目录下的VERSION文件中记录datanode的版本相关信息,其中clusterID标识它是属于哪个集群的,namenode 和 datanode的这两个值一致时,才会认为是同一个集群。格式化后,namenode的clusterID会改变,但datanode节点目录dfs/data/current如果在格式化时仍存在,则datanode的clusterID不会变化。这种情况下,启动集群,datanode进程虽然也会启动,但与namenode确认clusterID后,发现不一致,就会自动退出了。)
- 格式化NameNode,命令为hdfs namenode -format。
参考资料
-
NameNode格式化——组件恢复,数据丢失
2022-02-21 09:24:18NameNode格式化——组件恢复,数据丢失前情提要过程记录准备工作停止HDFS进程删除数据删除日志和临时目录启动JournalNode服务格式化HDFS执行NameNode格式化恢复Standby NameNode启动Standby NameNode恢复依赖服务小...NameNode格式化——组件恢复,数据丢失
前情提要
近段时间测试环境被研发整了一个特别离谱的事情,因为HDFS重启没启动起来,直接执行了format操作,大言不惭说的是百度这么说的,过了年以后我上环境看的时候,发现环境直接不能用了,然后启动也启动不起来,项目经理追着维护人员恢复环境,对开发把环境整崩的事情闭口不提,也是离谱。
过程记录
这种情况数据就别指望恢复了,直接怼HDFS进行格式化吧,因为服务器资源就这么些,这个环境还不能重装系统,最保险的方式就是重新格式化HDFS了,否则到时候重装各种组件,旧文件删除不完全啥的,都是坑。
准备工作
停止HDFS进程
停止所有假死的HDFS进程,保证没有进程还存在
删除数据
由于研发格式化过一次,产生了新的集群信息和数据信息,手动删除一下,具体路径可以参考配置文件hdfs-site.xml的
dfs.datanode.data.dir
:
删除日志和临时目录
具体的路径可以查看配置文件中的
hadoop.tmp.dir
和日志配置项:
启动JournalNode服务
由于启用了HA,所以格式化过程中会去连接JournalNode服务,如果不保证JN服务正常提供服务,初始化会失败:
格式化HDFS
执行NameNode格式化
保证JN服务正常后,再次format,注意!必须使用正确的用户进行,如果之前启动HDFS的用户是hdfs用户,就必须使用hdfs用户进行,否则会出现文件权限问题,需要手动授权:
hdfs namenode -format
格式化完成后,启动NameNode,此时可以访问WebUI检查状态:
恢复Standby NameNode
此时的HDFS还不是HA,切换到hdfs用户,执行bootstrapStandby命令:
启动Standby NameNode
此时可以正常启动Standby的NameNode,并检查WebUI:
恢复依赖服务
接下来依次恢复其他的依赖服务,如HBASE、HIVE等:
小结
环境一定不要让乱搞的研发人员上去操作,百度到的命令不管什么含义都敢直接执行,这种人能带来的灾难绝对不止一点。
-
Namenode 格式化
2018-04-03 16:54:31在经过多次练习后,对操作流程也很熟悉,先配置5个文件,关闭防火墙、selinux,然后namenode格式化,成功后起节点但架不住皮啊,后果就是错误极难发现这个就我昨儿碰到的,反复查看没辙,文件配置没毛病,防火墙和...在经过多次练习后,对操作流程也很熟悉,先配置5个文件,关闭防火墙、selinux,然后namenode格式化,成功后起节点但架不住皮啊,后果就是错误极难发现这个就我昨儿碰到的,反复查看没辙,文件配置没毛病,防火墙和selinux也关着呢 一问老师,分分钟解决了!找不到问题,那就查看日志呗 直接切入根源所在,按着日志说的去查,搞定从这我体会到了日志的重要性,去网上也搜了一些查看日志的命令:Tail 1、tail -f filename 说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。 2、tail -n 20 filename 说明:显示filename最后20行。 3、tail -r -n 10 filename 说明:逆序显示filename最后10行。
head 仅仅显示前面几行 head -n 10 test.log 查询日志文件中的头10行日志; head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
grep详细的使用方法见此链接: http://man.linuxde.net/grepgrep主要是跟正则连用的
更多的查看日志指令,伙伴们自己去探索吧
2.第二个问题,相信很多伙伴也是碰到过的,就是执行了多次namenode format,后果是怎样的呢?会在你起节点的时候,体现出来;start-dfs.sh 发现要么namenode 没有,要么datanode没有 二者不可兼得了。。。这里会询问你是否再次格式化文件系统,选择Y注意到上方图中的第一行和第三行没,那个目录(/home/hadoop/opt/tmp/dfs), ll 查看发现dfs目录下有name、data两个目录这里我进入的是dfs/data/current/ ,查看了VERSION文件
原因是一样的,每一次format主节点namenode, dfs/name/current 目录下的VERSION文件会产生新的clusterID、namespaceID。但是如果子节点的 dfs/name/current 仍存在,hadoop格式化时就不会重建该目录,因此形成子节点的clusterID、namespaceID与主节点(即namenode节点)的clusterID、namespaceID不一致。最终导致hadoop启动失败。我们只需要将name、data目录下面的文件全部删除,rm -rf data/current/ ,格式完之后重启reboot,再查看发现两个目录下是空的重新执行一次namenode format没毛病,两个都起了!
就算是重连虚拟机 xshell,格式化只需要执行一次
-
Hadoop namenode重新格式化需注意问题
2022-04-18 11:42:181、重新格式化意味着集群的数据会被全部删除,格式化前需考虑数据备份或转移问题; 2、先删除主节点(即namenode节点),Hadoop的临时存储目录tmp、namenode存储永久性元数据目录dfs/name、Hadoop系统日志文件目录... -
Hadoop namenode重新格式化需要注意的问题
2021-08-22 11:17:08首先理解什么是namenode格式化 格式化namenode即使配置文件生效,并格式化hdfs文件系统。 重新格式化意味着集群所有的数据都会被删除,格式化之前要做好数据的备份。 格式化过程 (1)删除主节点(namenode节点),... -
Hadoop 重新格式化NameNode
2021-11-12 21:18:58一、重新格式化 NameNode 1、删除hadoop 三台节点配置路径下的残留文件 (1)core-site.xml 删除/usr/local/src/hadoop/tmp目录 (2)hdfs-site.xml 删除/usr/local/src/hadoop/dfs/name目录 (3)hdfs-site.... -
需要重新格式化NameNode
2022-01-10 22:37:27hadoop需要重新格式化NameNode -
Hadoop源码:namenode格式化和启动过程实现
2021-01-18 13:10:00基于源码源码分析hadoop namenode格式化和启动过程实现 (According to the source code analysis hadoop namenode formatting and startup process implementation.) Namenode 管理hdfs元数据和RPC服务响应客户端,... -
hadoop中namenode格式化失败的解决
2018-07-27 09:52:20如果有 第一次格式化后 产生了 tmp文件夹,先删除 /tmp/dfs/hadoop/name(可以直接把tmp文件夹删除),然后重新格式化 再执行 启动程序 start-all.sh 第二种: 如果格式化后没有生成 tmp 文件夹,把 /etc/hadoop/... -
为什么要格式化namenode以及注意点
2019-07-26 22:04:29格式化namenode的命令 hdfs namenode -format 前提知识: 在NameNode节点上,有两个来自于配置文件的最重要的路径,它们对应的属性分别是dfs.name.dir和dfs.name.edits.dir,分别被用来存储元数据信息和操作日志... -
namenode无法启动,格式化失败
2020-08-24 23:44:49namenode无法启动,格式化失败 格式化提示 hdfs namenode -format 20/08/24 22:43:44 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: ... -
hdfs namenode -format格式化失败问题
2021-05-11 12:08:55hadoop中namenode格式化失败的解决 等文章之后,发现删除tmp无法解决,在阅读hdfs-site.xml配置文件后发现,slave中还会新建了一个QJEditsData文件夹,应当将tmp和QJEditsData文件夹都删除再进行format命令。 ... -
Hadoop学习问题2:namenode重复格式化出现datanode启动失败问题
2021-12-04 14:11:50hdfs格式化命令第一次启动的时候进行格式化即可,后续如果重复格式化会出现datanode启动失败的问题 原因分析 在hadfs-site.xml配置中指定了hdfs运行时产生的存储目录 <property> <name>hadoop.data.... -
Hadoop3 重新格式化namenode
2020-11-10 17:34:12Hadoop重新格式化之前一定要先删除data数据和log日志。然后再进行格式化。 一、停止所有Hadoop进程 stop-all.sh 二、 删除配置文件core-site.xml和hdfs-site.xml中指定目录下的文件 vim /moudle/hadoop-3.3.0/etc/... -
解决hadoop格式化namenode两次导致datanode不能正常启动问题
2022-03-30 22:00:46解决hadoop格式化namenode两次导致datanode不能正常启动问题:删除tmp文件夹并重新格式化即可 -
Hadoop格式化NameNode可能会出现的问题
2020-02-28 20:27:11本文从原理上讲解格式化NameNode可能会出现的问题。 格式化NameNode的命令 ...这个标记会缓存在你的hadoop的缓存文件里,当你格式化namenode之后,你的datanode的id还在,但是你的namenode的id变化了... -
关于格式化NameNode的几点注意
2019-09-24 18:45:28格式化步骤 : 先jps查看当前是否有hadoop相应的进程 如果有则关闭相应的进程 ,如果还有残留进程 则用 kill -9 端口号 杀死进程 原因: 如果在开启进程的时候去上出data和logs文件夹,因为进程仍然在运 行还是会... -
Hadoop格式化NameNode遇到的坑
2021-04-18 11:00:461、在core-site.xml文件中指定 hadoop 数据的存储目录是——路径莫名其妙不对,可能是复制粘贴是哪里错了 <!-- 指定 hadoop 数据的存储目录 --> <property> <name>hadoop.tmp.dir</name> ... -
配置Hadoop 伪分布式 _NameNode格式化问题_解决方案
2018-05-31 21:24:22【Ubuntu 16.04 Hadoop2.9.1】跟着厦大林子雨的实验指南配置伪分布式环境时出现了以下问题... /etc/hadoop/hdfs-site.xml后namenode -format时出现 Cannot create directory /Softwares/hadoop/tmp/dfs/name/curren... -
Hadoop集群第一次启动为什么要格式化NameNode
2020-08-22 20:37:34Hadoop集群第一次启动为什么要格式化NameNode原因如何格式化 ...格式化NameNode前,先关闭掉NameNode节点和DataNode节点,然后一定要删除hadoop目录下的data文件夹和log日志文件夹。最后再进行格式化。 hadoop -
hadoop的namenode无法启动只能通过格式化解决?
2021-12-06 23:54:47突然namenode无法启动了,之前都是可以正常启动的,我回忆了一下,应该是我最后一次不正常的操作导致的后果,hadoop集群启动的时候,直接关闭了虚拟机,因此上网查找解决办法,但是大多数都是要格式化才能解决,这样... -
hadoop3.1.3格式化NameNode后,启动Namenode,报错
2020-10-12 17:52:361.格式化NameNode后,启动Namenode,报错 ...2.删除data,log文件,重新格式化后,启动Namenode,扔报错 此方法无效,仍是报错 二: 尝试百度,提示有可能为环境变量问题 最终解决方法 1.首先查询日志. -
搭建HDFS集群的错误一:格式化namenode后,格式化失败,日志报错:ERROR namenode.FSnamesystem: ...
2019-07-02 14:18:13原因是:每次进行namenode格式化都会清空namenode文件存放目录下的文件并产生一个新的clusterID,但不会清空datanode文件存放目录下的文件,也就是datanode文件存放目录下保存的clusterID还是之前的clusterID,这... -
namenode格式化失败:java.lang.IllegalArgumentException: URI has an authority component
2020-12-08 18:17:11journal node和zookeeper都启动了,就是不能格式化namenode,仔细对照配置文件后发现,在core-site.xml中的一个配置好像不太一样。 报错信息如下: 17/09/02 04:18:53 WARN ssl.FileBasedKeyStoresFactory: The ... -
[Hadoop]-为什么不能一直格式化NameNode,格式化NameNode需要注意什么
2019-11-22 14:27:18为什么不能一直格式化NameNode NameNode与DataNode之间需要又相同的集群ID,两者之间需要相互通信,交互数据,交换命令。当频繁的格式化NameNode时,会导致NameNode和DataNode的ID不相同,两者不能进行通信,此时会... -
格式化namenode后datanode无法启动
2019-12-28 16:08:13有的时候namenode会出现无法启动的问题,我们在无法解决这个问题...我们每次在格式化namenode时都会产生一个新的集群ID,如果格式化成功,在命令行输出信息里就有新产出的集群ID,大家找一下,我这不方便再格式化一遍... -
Hadoop格式化NameNode后DateNode无法启动
2019-12-31 00:21:32当Hadoop执行"hadoop namenode -format"命令格式化NameNode后发现DateNode无法启动 分析: 第一次启动HDFS时,Hadoop会在"hdfs-site.xml"文件配置的"hadoop.tmp.dir"路径(/home/jimmy/install/hadoop_tmp)下的"dfs...