`

could only be replicated to 0 nodes, instead of 1

阅读更多
用三台Linux搭建hadoop环境时出错,master主机部分信息日志如下:
2015-03-28 17:13:12,147 WARN org.apache.hadoop.hdfs.DFSClient: Error Recovery for null bad datanode[0] nodes == null
2015-03-28 17:13:12,147 WARN org.apache.hadoop.hdfs.DFSClient: Could not get block locations. Source file "/home/hadoop/tmp/mapred/system/jobtracker.info" - Aborting...
2015-03-28 17:13:12,147 WARN org.apache.hadoop.mapred.JobTracker: Writing to file hdfs://master:10000/home/hadoop/tmp/mapred/system/jobtracker.info failed!
2015-03-28 17:13:12,147 WARN org.apache.hadoop.mapred.JobTracker: FileSystem is not ready yet!
2015-03-28 17:13:12,151 WARN org.apache.hadoop.mapred.JobTracker: Failed to initialize recovery manager.
org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /home/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)


初看还以为是dfs.replication的配置错误,其实不然,当看到
Error Recovery for null bad datanode[0] nodes == null
怀疑是原先启动时造成的数据缓存问题,于是清空hadoop.tmp.dir的数据并重启hadoop,访问http://master:50030和http://master:50070,正常显示页面,看起来算是成功解决了问题!

虽然50030和50070可以成功访问,但是其它2个slave节点使用 ps -ux命令时发现没有hadoop相关进程,这显然是不正常的,于是看了下save1的日志,如下:

2015-03-29 09:48:24,093 ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...
java.net.UnknownHostException: hsdb01: hsdb01: unknown error
at java.net.InetAddress.getLocalHost(InetAddress.java:1484)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.getHostname(MetricsSystemImpl.java:481)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configureSystem(MetricsSystemImpl.java:412)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:408)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:152)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:133)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:40)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:50)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1650)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1812)
Caused by: java.net.UnknownHostException: hsdb01: unknown error
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302)
at java.net.InetAddress.getLocalHost(InetAddress.java:1479)
... 11 more


可见是/etc/hosts配置遗漏,需加入hsdb01和hsdb02。如下:
127.0.0.1  localhost
28.18.19.34 master root123
28.18.12.57 slave1 hsdb01
28.18.12.58 slave2 hsdb02


重启Hadoop
1、bin/hadoop namenode -format
2、bin/start-all.sh

访问50030和50070正常,可查看slave的日志时发现
2015-03-29 10:15:47,221 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/hadoop/tmp/dfs/data: namenode namespaceID = 1374430296; datanode namespaceID = 627398707
at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:414)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:321)
at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1712)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1651)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1812)


关闭hadoop时信息如下:



产生此问题一般是由于两次或两次以上格式化namenode造成,解决方案借鉴了hadoop常见问题(2).no datanode to stop中提到修改namespaceID,问题最终解决。(*^__^*) 嘻嘻!

PS:本次我修改master的namespaceID后重启hadoop时错误依旧,所以我修改的是slave的namespaceID,但如果slave很多,维护可就耗时了!hadoop的集群部署一次性成功最好,否则真是"后患无穷"啊!呵呵!

Hadoop集群(第5期)_Hadoop安装配置
hadoop启动和运行中的error总结和处理方法

hadoop异常“could only be replicated to 0 nodes, instead of 1” 解决

下面这两种方法从书籍《Hadoop实战》第2版中看到,在此记录一下,在实际应用也可能会用到。
1、重启坏掉的DataNode或JobTrack。当hadoop集群的单个节点出现问题时,一般不必重启整个系统,只须重启这个节点,它会自动连入这个集群。
在坏死的节点上输入如下命令即可:

bin/hadoop-daemon.sh  start  datanode
bin/hadoop-daemon.sh  start  jobtracker

2、动态加入DataNode或JobTracker。下面这条命令允许用户动态地将某个节点加入到集群中。

bin/hadoop-daemon.sh  --config  ./conf  start  datanode
bin/hadoop-daemon.sh  --config  ./conf  start  tasktracker
  • 大小: 6.6 KB
分享到:
评论

相关推荐

    异常处理 could only be replicated to 0 nodes, instead of 1

    NULL 博文链接:https://xq0804200134.iteye.com/blog/1814655

    hadoop常见问题及解决方法

    6、启动时报错java.io.IOException: File jobtracker.info could only be replicated to 0 nodes, instead of 1: 解决方法:首先,检查防火墙是否关闭,是否对jobtracker.info文件进行了acl权限设置,或者是否已经...

    hadoop配置运行错误

    问题描述:在hadoop集群启动时,slave总是无法启动datanode,并报错“could only be replicated to 0 nodes, instead of 1”。 解决方法: 1. 删除所有节点的数据文件:删除所有节点的dfs.data.dir和dfs.tmp.dir...

    Hadopp集群运用过程中碰到的问题

    - **错误现象2:could only be replicated to 0 nodes, instead of 1** - 原因:HDFS的副本复制出现问题。 - 解决方法:在NameNode上执行`hadoop namenode –format`命令重新格式化HDFS,但在操作前,要删除...

    友价免签约支付接口插件最新版

    友价免签约支付接口插件最新版

    基于java的微信小程序跳蚤市场设计与实现答辩PPT.pptx

    基于java的微信小程序跳蚤市场设计与实现答辩PPT.pptx

    java程序员面试求职指南

    程序员面试求职指南 程序员简历制作指南 面试常见词汇扫盲 项目经验指南

    akima-2019.1.1-cp34-cp34m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    aiohttp-3.8.1-cp311-cp311-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    JSP基于SSM旅游景点预订html5网站毕业源码案例设计.zip

    JSP基于SSM旅游景点预订html5网站毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    open3d-0.15.2-cp38-cp38-win-amd64.whl

    open3d-0.15.2-cp38-cp38-win_amd64.whl open3d cuda的python包 import open3d as o3d print(o3d.cuda.Device().is_cuda_available() )# 检查是否支持CUDA

    【python毕业设计】基于Python的可视化学习系统(完整前后端源码).zip

    环境说明: 开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 5.7+ 数据库工具:Navicat11 开发软件:PyCharm

    aicspylibczi-2.7.6-cp36-cp36m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    宠物综合服务平台 SSM毕业设计 附带论文.zip

    宠物综合服务平台 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

    使用Java实现一个游戏引擎.zip

    本资源提供了一个使用Java语言实现的完整游戏引擎示例,旨在帮助开发者学习和理解游戏引擎的基本架构和核心功能。该资源包含了从图形渲染、物理模拟到用户输入处理等多个模块的实现代码,以及相关的文档和注释,便于开发者进行学习和研究。通过本资源,你可以深入了解如何利用Java语言构建一个可扩展的游戏引擎框架,包括场景管理、实体组件系统(ECS)的设计,以及如何集成第三方库来增强游戏引擎的功能。此外,资源中还提供了一些简单的游戏示例,帮助你快速上手并实践所学知识。请注意,本资源是一个学习资源,适合有一定编程基础并对游戏开发感兴趣的开发者使用。通过研究和分析这些代码,你将能够更好地掌握游戏引擎的开发技巧,为未来的项目打下坚实的基础。

    astropy-4.0.3-cp36-cp36m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    青大校园预点餐系统 SSM毕业设计 附带论文.zip

    青大校园预点餐系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

    arctic-1.67.1-cp37-cp37m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    aggdraw-1.3.11-cp27-cp27m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    基于java的微信小程序健身房私教预约系统答辩PPT.pptx

    基于java的微信小程序健身房私教预约系统答辩PPT.pptx

Global site tag (gtag.js) - Google Analytics