在启动HDFS时,针对集群中namenode无法识别datanode的问题的解决方法
最近由于重装了系统,需要对之前搭建的集群要做些改动。在对每个虚拟机的网络进行正确的配置之后,重新执行hadoop/sbin/start-dfs.sh命令来启动HDFS,然而namenode却无法识别datanode。
后来通过对之前学过的知识进行回顾和梳理发现了问题的所在:
由于场景的改变造成了虚拟机IP地址的改变,在这里虽然在虚拟机中配置网络的IP也做了相应的改变,但是Hadoop集群中的一些自动生成旧文件的内容依旧和你以前的IP地址有关,这就造成NameNode无法识别之前的DataNode。
解决办法:
首先了解下namenode初始化工作目录的形成,我们在执行hdfs namenode -format 时只是初始化了namenode的工作目录,而datanode的工作目录是在datanode启动后自己初始化的。所以在这里首先要把各个DataNode下的工作目录进行删除(即HDFS的文件存储目录:hddata/dfs/current目录下的内容全部进行删除)。(如果某个DataNode的工作目录未进行删除,则通过相应的web网页去看HDFS的存储内存时依旧观察不到该DataNode)
其次namenode在format初始化的时候会形成两个标识:
blockPoolId:
clusterId:
新的datanode加入时,会获取这两个标识作为自己工作目录中的标识,一旦namenode重新format后,namenode的身份标识已变,而datanode如果依然持有原来的id,就不会被namenode识别。
所以只需要我们把各个DataNode上的工作目录进行删除后,然后在对hadoop的bin目录下执行namenode-format命令即可识别DataNode。
在启动HDFS时,针对集群中namenode无法识别datanode的问题的解决方法相关推荐
- HDFS高可用集群中NameNode无法启动——解决方案
我是在刚搭建好HDFS高可用后,发现存在一台NamNode节点无法启动,但该节点上的DataNode仍可正常运行.其它的NameNode在正常运行. 问题可能是由多个NameNode上的元数据信息不一 ...
- OpenCV 无法启动此程序,因为计算机中丢失opencv_core249.dll(类似的),解决方法
OpenCV 无法启动此程序,因为计算机中丢失opencv_core249.dll(类似的),解决方法 解决方法就是在当前运行代码文件目录下加入opencv对应缺失的dll 这样就运行代码就没有提示缺 ...
- 从外部访问Kubernetes集群中的应用
https://zhaohuabing.com/2017/11/28/access-application-from-outside/ 前言 我们知道,kubernetes的Cluster Netwo ...
- 你了解Redis集群中的秘密吗?
前言 今天早上北京地铁,看见一个正在学习Redis的小姐姐,很优秀 在之前的Redis系列文章中,介绍了Redis的持久化.主从复制以及哨兵机制,主从复制+哨兵机制,既可以解决主master和从sl ...
- 将自己写的windows服务加入到windows集群中
最近发现windows集群能进行很多自定义,比如在集群中加入自己编写的服务. 能自定义的可不少,截个图: 本次演示中,只想用"通用服务"这个类型. 先列下步骤 编写一个记录时间的W ...
- Kubernetes 中创建 Pod 时集群中到底发生了些什么?
想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --image=nginx --replicas=3 然后回车. ...
- 解决集群中MATLAB无法启动并行池的问题
MATLAB无法启动并行(parpool)Failed to locate and destroy old interactive jobs. 起因 尝试 解决方法 起因 最近在集群中使用MATLAB ...
- ES集群中出现UNASSIGNED分片时的解决思路
原文:https://www.modb.pro/db/182864 引入此问题的原因,是因为在单节点的ES部署策略中,如果在设置某个ES索引的replica不为零,你会发现. 存在Unassigned ...
- Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
阅读目录(Content) 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 1.2.数据块(data block)简介 1.3.对分布式文件系统中的块进行抽象会带来很多好处 二.Jav ...
最新文章
- eclipse中java项目转换为web项目
- linux内核链表使用例,linux内核链表的使用例子
- pjax 历史管理 jQuery.History.js
- [YTU]_2619 (B 友元类-计算两点间距离)
- IIS设置Access-Control-Allow-Origin
- 【Mybatis 之应用篇】2_配置解析、属性名问题、日志、分页和注解开发
- Shaolin HDU - 4585(map模板题)
- 指针常量与常量指针精解【一次掌握】
- 怎么保存python文件_python如何保存文本文件
- 六条“黑客伦理”(hacker ethic)
- 2019年浙大计算机专业前景,2019年浙大计算机专业一志愿录取.pdf
- 程序员35岁之后的职业发展
- matlab 向量元素,MATLAB遍历向量的元素
- 查看C#Dll的一个 工具 ILSpy
- 制作openstack离线 yum 源
- mysql 中的脏读与幻读_mysql中脏读、不可重复读、幻读以及四种隔离级别的浅显理解...
- 关于性能测试的这点事,值得收藏~
- 80x86 汇编语言编程:判定数据序列的奇偶个数
- 服务器维修预算申请,云服务器费用预算申请范文
- Revit二次开发手记【1】