自己搭建的集群,启动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没有启起来怎么办?的更多相关文章

  1. kubeadm搭建kubernetes集群之三:加入node节点

    在上一章<kubeadm搭建kubernetes集群之二:创建master节点>的实战中,我们把kubernetes的master节点搭建好了,本章我们将加入node节点,使得整个环境可以 ...

  2. Linux下搭建tomcat集群全记录(转)

    本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...

  3. Linux下搭建tomcat集群全记录

    (转) Linux下搭建tomcat集群全记录 2011-10-12 10:23 6133人阅读 评论(1) 收藏 举报 tomcatlinuxapacheinterceptorsession集群 1 ...

  4. 搭建Elasticsearch集群常见问题

    一.ES安装方法: Linux用户登录(bae),我们用的是5.3版本的包.从官网下载: curl -L -O https://artifacts.elastic.co/downloads/elast ...

  5. 基于Dokcer搭建Redis集群搭建(主从集群)

    最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得之前写的这篇 <基于Docker的Redis集群搭建> 文章一定是有问题了,所以我花了几分钟浏览之前的文章总结了下面几 ...

  6. Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)

    该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...

  7. Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现!

    Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现! 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.集群启动顺序 1>. ...

  8. Hadoop ha CDH5.15.1-hadoop集群启动后,两个namenode都是standby模式

    Hadoop ha CDH5.15.1-hadoop集群启动后,两个namenode都是standby模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一说起周五,想必大家都特别 ...

  9. Hadoop的HA集群启动和停止流程

    假设我们有3台虚拟机,主机名分别是hadoop01.hadoop02和hadoop03. 这3台虚拟机的Hadoop的HA集群部署计划如下: 3台虚拟机的Hadoop的HA集群部署计划 hadoop0 ...

随机推荐

  1. Python time ctime()方法

    描述 Python time ctime() 函数把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式.高佣联盟 www.cgewang.com 如果参数未给或者为None的时候, ...

  2. PHP gregoriantojd() 函数

    ------------恢复内容开始------------ 实例 把格利高里历法的日期转换为儒略日计数,然后再转换回格利高里历法的日期: <?php$jd=gregoriantojd(6,20 ...

  3. PHP image_type_to_extension - 获取图片后缀

    image_type_to_extension — 根据指定的图像类型返回对应的后缀名.高佣联盟 www.cgewang.com 语法 string image_type_to_extension ( ...

  4. PHP quotemeta() 函数

    实例 在预定义的字符前添加反斜杠: <?php高佣联盟 www.cgewang.com$str = "Hello world. (can you hear me?)";ech ...

  5. idea修改module name后重启失效

    技术交流群 : 816227112 idea每次修改module name后重启,module还是会在后面加上原来的name. 这时修改: .idea下的modules.xml 内的module名即可 ...

  6. Pytest单元测试框架-allure测试报告

    Allure Test Report 对于不同的编程语言,有很多很酷的测试框架.不幸的是,它们中只有少数能够提供测试执行输出的良好表示.Qameta软件测试团队正在致力于Allure--一个开源框架, ...

  7. fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题

    fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题

  8. MVC + EFCore 项目实战 - 数仓管理系统9 - 数据源管理完结篇

    我们完成数据源管理的剩余部分:点击表名,预览表中数据. 我们需要完成的是下图的方框部分. 考虑到这块以后可能复用,我们将她独立出来,做成 view component. 新建 view compone ...

  9. Android 的OkHttp(发送网络请求)

    今天讲的是和HttpURLConnection差不多的OkHttp; 先把网站献上: 官网介绍okhttp的: https://square.github.io/okhttp/ 下载postman的: ...

  10. Android布局——单复选框(今天上课的内容总结下)

    怎么感觉最近补充的都是监听器的内容,今天学长提了一个新的监听器,看起来很牛批(因为很长) // 添加文本更改的监听器, TextWatcher是监听器的回调接口 text.addTextChanged ...