jobtracker.info could only be replicated to 0 nodes, instead of 1 错误解决

2019-03-28 13:52|来源: 网络

最近在搭建 Hadoop环境,用的是cygwin伪分布方式,但是一切都配置好后,执行命令start-all.sh,观察一下启动情况,执行JPS命令观察可以发现,只启动了namenode和jobtracker这两个,剩下三个节点没有启动



看了一下日志文件的目录,确实只启动了两个几点。



打开这两个节点的日志后,都显示的一样的内容,就是“java.io.IOException: File xxxxxxxxx/jobtracker.info could only be replicated to 0 nodes, instead of 1”,应该是连接错误,连接不到9000端口。

引用
hadoop-xxxx-namenode-XXXX.log


中报错:
  1. 2011-11-27 20:27:06,281 INFO org.apache.hadoop.ipc.Server: IPC Server handler 1 on 9000, call addBlock(/opt/hadoop/tmp/mapred/system/jobtracker.info, DFSClient_502181644) from 127.0.0.1:2278: error: java.io.IOException: File /opt/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1  
  2. java.io.IOException: File /opt/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1  
  3.     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1271)   
  4.     at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:422)   
  5.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   
  6.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)   
  7.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   
  8.     at java.lang.reflect.Method.invoke(Method.java:597)   
  9.     at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:508)   
  10.     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:959)   
  11.     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:955)   
  12.     at java.security.AccessController.doPrivileged(Native Method)   
  13.     at javax.security.auth.Subject.doAs(Subject.java:396)   
  14.     at org.apache.hadoop.ipc.Server$Handler.run(Server.java:953)  

于是就在网上一顿找文章,网上说什么的都有,大部分都说是防火墙问题,于是我就关闭了防火墙,把系统的防火墙都关掉了,重新格式化,再次执行start-all.sh命令,结果还是不行。

经过多方询问吧,网友给我一个建议,就是把“masters”和“slaves”中都配置上主机的IP,我配置的是“127.0.0.1”,这样问题就解决了,重新格式化后,5个节点顺利的启动起来了。

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

相关问答

更多
  • 最后,我通过为我的系统提供更大的驱动器空间解决了这个问题。 我正在使用VirtualBox,所以我不得不重新安装整个操作系统和hadoop。 使用新设置,它现在可以正常工作。 所以主要猜测是问题与可用空间量有关。 即使对于单节点设置,240MB也是不够的。 Finally I have solved this problem by providing my system with a bigger drive space. I am using VirtualBox, so I had to reinsta ...
  • 请尝试以下提示: /*+ MAPJOIN(small_table) */ 更新 BTW还有其他选项,例如sort-merge-bucket join。 但是它们需要对输入表进行更改才能在相同的列上进行更改。 以下是有关Hortonworks文档中地图连接的限制/功能的一些信息 Mapside加入优化的HortonWorks文档 关于mapjoins的摘录是为了方便起见 MAPJOINs are processed by loading the smaller table into an in-memo ...
  • 问题是映射器中的一个未关闭的FileSystem InputStream实例,用于将输入缓存到文件系统。 The problem was an unclosed FileSystem InputStream instance in the mapper that was used for caching input to file system.
  • 我收到了Cloudera的Todd Lipcon的回复。 我想更新这个问题以防其他人有这个问题。 我注意到CDH3u1的这个问题,这是响应: “已知”附加“功能在CDH3中被破坏,可能会出现这样的错误。我们建议您建议您的用户不要使用它。对于Hadoop 0.20.x的所有版本(CDH和其他版本)都是如此。并将在CDH4(上游版本0.23或更高版本)中修复。 关于这些坏消息我很遗憾。 我将调查这个特定的错误,以确保它不存在于上游主干中,但它不太可能在CDH3版本中得到修复。 “ I obtained a re ...
  • 要检查的一些事项: namenode可能正在运行过期配置。 如果是这样,请重新启动namenode以确保它正在运行,并且cloudera manager中显示当前配置。 有时,cloudera代理也需要重新启动,以便正确生成配置 如果这不起作用,那么运行hadoop fsck /|egrep -v '^\.+$'|grep -i replica 找出受影响的文件并验证复制因子是否设置为1,因为您只有一个datanode 您可以通过运行hadoop fs -ls /path/to/file.txt检查文件的复 ...
  • 是的,它确实。 Spark-Cassandra连接器可识别数据位置,即每个与Cassandra节点共存的Spark节点将确保仅处理本地Cassandra数据,从而避免在网络中混洗大量数据。 您可以通过观看Russell Spitzer关于此主题的演讲来了解其工作原理。 Yes it does. The Spark-Cassandra connector is data locality aware, i.e. each Spark node co-located with a Cassandra node ...
  • 好的,解决了,对于任何将来的查找,我不得不说通过将这些目录文件路径更改为分配了更多内存的安装点来解决问题(问题是NN内存不足): dfs.name.dir=${HOME}/path-to-desired-location instead of the basepath stated by default: dfs.name.dir=/dfs/nn 而且我也必须在datanode和secondarynamenode上做同样的事情,然后只需要格式化namenode并重新启动HDFS服务: hdfs namen ...
  • 问题是第三个tomcat在另一台机器上运行,会话是从那个tomcat复制的。 在我关闭该tomcat后,会话被正确复制。 The issue was that a third tomcat was running on another machine and session was replicate from that tomcat. After I shutdown that tomcat the session was correctly replicated.
  • 这是由于数据节点问题。 启动datanode并立即执行操作 This is due to the data node problem. Start your datanode and do the operation now
  • 我得到了这个工作。 虽然解决方案是微不足道的,但我想在此发布,以便其他新手Hadoopers可能会受益。 1)在master( nameNode )和所有从属( dataNodes )中都有core-site.xml , hdfs-site.xml和mapred-site.xml的完全副本。 我认为master中的core-site.xml和mapred-site.xml并不重要。 但它是。 他们打开他们听的端口。 在这些端口上, dataNode可以到达nameNode 。 2)当您在master上运行j ...