自己搭建的集群,启动hadoop时slave节点的datanode没有启起来怎么办?
自己搭建的集群,启动hadoop 集群是,发现slave节点的datanode没有启动,查了资料发现是因为我在启动集群前,执行了这个命令:
hadoop namenode -format
这个指令会重新格式化namenode的信息,这样可能会导致master节点的VERSION信息跟datanode的信息对不上,导致指令无法同步。
查看VERION信息:
master 的 namenode 信息:
> cd /usr/local/src/hadoop-2.6.1/dfs/name/current
> cat VERSION
#Tue Aug 18 01:43:38 EDT 2020
namespaceID=1008709700
clusterID=CID-c3345186-922b-4010-bb38-cdc135bc1afe
cTime=0
storageType=NAME_NODE
blockpoolID=BP-266453957-192.168.56.10-1597729418207
layoutVersion=-60
slave 的 datanode信息
> cd /usr/local/src/hadoop-2.6.1/dfs/data/current
> cat VERSION
#Sat Aug 24 04:47:43 EDT 2019
storageID=DS-40ea875f-c037-49d3-b6e9-da8e9ff1d4eb
clusterID=CID-adbba37c-a4d3-4b60-8d1b-3ac22ee863df
cTime=0
datanodeUuid=d7f1a2f9-4604-4bf1-a1c7-90d553fb62b8
storageType=DATA_NODE
layoutVersion=-56
可以看到,namenode 和 datanode 的 clusterID 不一样,可以认为两者所在的集群是一样的。
这时有一个解决办法,在我这个场景下测试过有效:
第一步:停止集群:
> ./hadoop-2.6.1/sbin/stop-all.sh
第二步:删除logs文件夹和tmp文件夹
> rm -rf /hadoop-2.6.1/logs
> rm -rf /hadoop-2.6.1/tmp
第三步:查看VERSION文件是否存在,如果存在的话,把它删除:
> cd /hadoop-2.6.1/dfs/name/current
> ls -l
如果有VERSION文件,直接删除:
> rm -f VERSION
第四步:所有slave节点删除VERSION文件
> cd /usr/local/src/hadoop-2.6.1/dfs/data/current
> rm -f VERSION
第五步:格式化namenode
> namenode -format
这一步如果不执行的话,直接启动集群会导致master节点没有namenode
第六步:启动集群
> ./hadoop-2.6.1/sbin/start-all.sh
第七步:查看是否各个进程都启起来了:
master:
> jps
16595 Jps
16216 RunJar
15595 NameNode
15917 ResourceManager
slave :
> jps
8369 NodeManager
8492 Jps
8271 DataNode
第8步,查看master和slave节点的VERSION
master:
> cat VERSION
#Tue Aug 18 01:59:54 EDT 2020
namespaceID=2000705856
clusterID=CID-5e8393c4-8eec-4f49-8be2-5935c1e215d7
cTime=0
storageType=NAME_NODE
blockpoolID=BP-1566447260-192.168.56.10-1597730394165
layoutVersion=-60
> cat VERSION
#Tue Aug 18 02:01:23 EDT 2020
storageID=DS-d47a197e-c210-4dac-bc78-dfd1c4338bb2
clusterID=CID-5e8393c4-8eec-4f49-8be2-5935c1e215d7
cTime=0
datanodeUuid=1c8cea38-f6ad-415b-bf53-8e47bd7bacf8
storageType=DATA_NODE
layoutVersion=-56
这样就可以了
自己搭建的集群,启动hadoop时slave节点的datanode没有启起来怎么办?的更多相关文章
- kubeadm搭建kubernetes集群之三:加入node节点
在上一章<kubeadm搭建kubernetes集群之二:创建master节点>的实战中,我们把kubernetes的master节点搭建好了,本章我们将加入node节点,使得整个环境可以 ...
- Linux下搭建tomcat集群全记录(转)
本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...
- Linux下搭建tomcat集群全记录
(转) Linux下搭建tomcat集群全记录 2011-10-12 10:23 6133人阅读 评论(1) 收藏 举报 tomcatlinuxapacheinterceptorsession集群 1 ...
- 搭建Elasticsearch集群常见问题
一.ES安装方法: Linux用户登录(bae),我们用的是5.3版本的包.从官网下载: curl -L -O https://artifacts.elastic.co/downloads/elast ...
- 基于Dokcer搭建Redis集群搭建(主从集群)
最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得之前写的这篇 <基于Docker的Redis集群搭建> 文章一定是有问题了,所以我花了几分钟浏览之前的文章总结了下面几 ...
- Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)
该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...
- Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现!
Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现! 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.集群启动顺序 1>. ...
- Hadoop ha CDH5.15.1-hadoop集群启动后,两个namenode都是standby模式
Hadoop ha CDH5.15.1-hadoop集群启动后,两个namenode都是standby模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一说起周五,想必大家都特别 ...
- Hadoop的HA集群启动和停止流程
假设我们有3台虚拟机,主机名分别是hadoop01.hadoop02和hadoop03. 这3台虚拟机的Hadoop的HA集群部署计划如下: 3台虚拟机的Hadoop的HA集群部署计划 hadoop0 ...
随机推荐
- ionic 侧边栏实例
侧边栏的使用范例: <body > <ion-side-menus> <!-- 中间内容 --> <ion-side-menu-content ng-cont ...
- Day03_破解Windows7系统密码&用户与组管理&服务器远程管理
破解Windows系统密码 一.利用5次shift漏洞破解win7密码 1.1 漏洞 1.在未登录系统时,连续按5次shift键,弹出程序c:\windows\system32\sethc.exe 2 ...
- Python 字典(Dictionary) cmp()方法
Python 字典(Dictionary) cmp()方法 描述 Python 字典的 cmp() 函数用于比较两个字典元素.高佣联盟 www.cgewang.com 语法 cmp()方法语法: cm ...
- HDU Typewriter 6583 dp SAM 卡常
LINK:Typewriter 好久没写SAM了 什么都给忘了. 写了大概2h.感觉被卡常还看了题解. 考虑dp 然后容易想到维护前面的一个j决策 尽可能小. 然后每次考虑向后加一个字符 不过不行就跳 ...
- zabbix配置钉钉机器人告警
目录 zabbix配置钉钉机器人告警 1. 在钉钉中创建群聊,在群里面添加自定义机器人 2. 配置钉钉告警脚本 3. 配置脚本告警 3.1 创建媒介 3.2 为用户添加对应媒介 3.3 创建动作 4. ...
- 三个技巧帮助Docker镜像瘦身
在构建Docker容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快. 但RUN语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体 ...
- python 创建字典以及操作字典----这是基础知识
当你编程久了,发现所有的东西都是建立在基础之上的,庞大的代码 你要识别出它的类型是什么 或者返回后类型是什么!? 根据返回的类型 或者需要操作的对象是什么类型 就可以选择相应的方法进行处理 #创建字 ...
- 07 . ELK Stack一键多机部署脚本
一键部署脚本 目录结构 tree Log_Analysis_Platform_Document Log_Analysis_Platform_Document ├── InstallES.sh ├── ...
- 强烈推荐 16 款 IDEA 插件,让你的开发速度飞起来!
当前使用的IDEA版本是2020.1.随着IDEA版本的升级,有些插件不再支持,而有些插件变成了收费插件,这些插件将不再推荐.以下列举的,都是亲测可以在2020.1版本的IDEA中使用的插件. 1 g ...
- 关于Exceptionless日志收集框架如何关闭磁盘缓存
问题:在使用Exceptionless的时候,Exception在收集到日志时会默认在appdata里面缓存当条日志的缓存文件,时间久了之后,如果收集到的日志越多磁盘的空间就会不足. 我使用的环境是 ...