原来在vmworkstation上部署了3台hadoop的分布式环境,运行一切正常。因为资源问题,我把其中一台的vm文件copy到另外一台实体机上,一共copy了3分,又打算部署一个同样的hadoop分布式环境。配置好ssh互相认证授权,机器建可以互相访问。所有配置都没有,除了机器名,相应改掉core-site.xml, mapred-site.xml里面的机器名称。执行start-all.sh,但namenode启动一会就挂了,报如下错误:
.......
InterruptedException.java.lang.InterruptedException: sleep
interrupted2010-05-21 01:02:37,555 INFO
org.apache.hadoop.hdfs.server.namenode.DecommissionManager:
Interrupted Monitorjava.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method)
at org.apache.hadoop.hdfs.server.namenode.DecommissionManager$Monitor.run(DecommissionManager.
java:65)
at java.lang.Thread.run(Thread.java:619)
.......
ERROR
org.apache.hadoop.hdfs.server.namenode.NameNode:
java.net.BindException:
Cannot assign requested address
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.apache.hadoop.http.HttpServer.start(HttpServer.java:424)
at org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:246)
网上找了很多资料,有说hosts里面机器名不对,应该改成domain,或者拿掉localhost这一行,也有说防火墙没关闭等等。但尝试过都还是不行。
最后上一个外国网站发现说是因为dfs.http.address指向的IP有问题,指向了本地IP,而应该是非本地IP。我记得我自己并没有配置这个property,但还是
检查下hdfs-site.xml,发现之前我配置过这个属性,IP指向另一个IP,但我把这个属性用“#” comment掉了,怎么还会生效呢。我拿掉comment,把
IP改成我新配的namenode机器名。
<property>
<name>dfs.http.address</name>
<value>master35:50070</value>
</property>
再重启,好了。搞了我很久的问题,但我还是很奇怪我已经comment掉了,应该不会生效的啊,神了。
分享到:
相关推荐
综上所述,解决Namenode启动失败的问题需要对Hadoop的内部机制有深入理解,包括元数据管理、配置参数以及故障恢复策略。通过理解这些知识点,可以更有效地诊断和处理类似问题,保证Hadoop集群的稳定运行。
这些问题都可能导致NameNode的性能下降。 ##### RPC框架改进措施: - **优化队列实现**:考虑到`LinkedBlockingQueue`在多核环境下的表现不佳,可以探索使用更高效的队列实现方式,比如`ConcurrentLinkedQueue`或...
Hadoop NameNode 源码解析 ...本文对 Hadoop NameNode 的源码进行了深入分析,了解了其启动过程、配置加载、RPC 服务端创建、 Namenode 对象初始化等关键步骤,为读者提供了一个详细的 Hadoop NameNode 源码解析。
在IT行业中,高可用性是关键,特别是在大数据处理领域,Hadoop作为分布式计算框架,其NameNode节点的稳定性至关重要。"hadoop namenode双机热备"是为确保Hadoop集群持续运行而采取的一种重要策略,通过双机热备可以...
- **在安装过程中使用非root用户**:推荐在整个安装过程中都使用一个非`root`用户(如`hadoop`用户),这样可以避免因所有权问题而导致的服务启动失败。 - **合理设置权限**:确保Hadoop安装目录及其子目录具有合理...
三、重启 Hadoop 并检查 namenode 的启动情况 在修改完配置文件后,需要重启 Hadoop,检查 namenode 是否启动成功。可以使用 jps 命令查看 namenode 的进程。 四、恢复 namenode 在 namenode 崩溃的情况下,需要...
然而,在使用Hadoop时,经常会遇到一些常见的问题,这些问题可能会导致Hadoop集群无法正常工作或者性能下降。因此,本文总结了一些常见的问题及解决办法,以帮助用户更好地使用Hadoop。 问题1:Shuffle Error: ...
### Hadoop Hadoop是一个开源框架,由Apache软件基金会开发,用于在普通硬件集群上存储和处理大量数据。它的核心组件包括: 1. **Hadoop Distributed File System (HDFS)** - 一个分布式文件系统,设计用于在多个...
启动 datanode 失败是 Hadoop 中的常见问题,主要是由于 NameNode 和 DataNode 的配置不正确。解决方法是删除 NameNode 和 DataNode 的文件系统路径,然后重新格式化分布式文件系统。 java.io.IOException: Could ...
Hadoop是大数据处理的重要工具,但是在安装和使用Hadoop时,可能会出现一些常见的问题,这些问题可能会导致Hadoop无法正常工作,或者无法达到预期的性能。下面是Hadoop常见的问题及解决方法: 1、NameNode启动时...
如果ID不一致,可能会导致NameNode无法正确识别并连接DataNode,从而引发启动失败的问题。 #### 三、解决方案 针对上述问题,有两种常见且有效的解决方法: **方法一:清理临时文件并重新格式化** 1. **定位问题...
4. **Secondary NameNode的作用**:Secondary NameNode并非用于缩短Hadoop集群启动时间,而是辅助NameNode合并编辑日志,减少NameNode的重启时间。 5. **Hadoop的硬件需求与可靠性**:Hadoop设计允许在普通硬件上...
大数据之 Hadoop 分布式集群初次启动 本文将指导读者如何从头开始启动 Hadoop 分布式集群,并对相关的知识点进行详细的解释。 1. SSH 免密登录 在 Hadoop 分布式集群中,需要配置集群中各个节点间的 SSH 免密登录...
在Windows环境下启动Hadoop,通常会遇到依赖Cygwin的问题,因为Hadoop最初设计时主要考虑的是类Unix系统。然而,随着技术的发展,现在我们可以在Windows上直接运行Hadoop,无需Cygwin作为桥梁。本教程将详细介绍如何...
Hadoop datanode重新加载失败无法启动解决 本文将详细讲解Hadoop datanode重新加载失败无法启动解决的知识点,主要包括datanode加载失败的原因、解决方法和步骤。 知识点1: datanode加载失败的原因 datanode加载...
问题描述:在hadoop安装目录/bin/hadoop中有一段shell代码导致Hadoop启动datanode时出现Unrecognized option: -jvm和Could not create the Java virtual machine错误。 解决方法: 1. 修改hadoop安装目录/bin/...
启动hadoop时遇到的一些问题集锦: 专门从网上找的,虽然现在还没有遇到,说不定以后会遇到,这样也能快速知道如何解决;
通过分析这些日志,可以了解Hadoop集群的健康状况,诊断潜在的问题,比如检查NameNode是否成功启动,DataNode是否加入到集群,MapReduce任务是否正常执行等。 对于大型Hadoop集群,日志分析工具如Flume、Sentry、...
在启动服务之前,我们需要格式化 Namenode,使用命令 ${HADOOP_HOME}/bin/hdfs namenode -format -clusterid [clusterID]。然后,在某个 Namenode 上执行 ${HADOOP_HOME}/sbin/,启动服务。 高可用性 在这个部署...