2016-04-25 107 views
0

我试图用1个主和1个从不同的节点上配置的Hadoop在完全分布式模式。我附上了一张屏幕截图,显示了我的主节点和从节点的状态。的Hadoop名称节点,无法启动

在主: Ubuntu的@ Hadoop的主:在/ usr /本地/ Hadoop的在/ etc/Hadoop的$ $ HADOOP_HOME /斌/ HDFS dfsadmin -refreshNodes

refreshNodes:无法在本地例外:com.google .protobuf.InvalidProtocolBufferException:协议消息标记具有无效的线类型。主机详细信息:本地主机是:“hadoop-master/127.0.0.1”;目的地主机是:“hadoop-master”:8020;

这是当我尝试运行刷新节点的命令,我发现了错误。任何人都可以告诉我我错过了什么,或者我犯了什么错误?

Master & Slave Screenshot

2016年4月26日03:29:17,090 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem:停止服务开始为待机状态 2016年4月26日03: 29:17095信息org.mortbay.log:停止[email protected]:50070 2016年4月26日03:29:17095信息org.apache.hadoop.metrics2.impl.MetricsSystemImpl:停止NameNode的指标体系.. 。 2016-04-26 03:29:17,095 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:NameNode指标系统已停止。 2016-04-26 03:29:17,096 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:NameNode指标系统关闭完成。 2016-04-26 03:29:17,097错误org.apache.hadoop.hdfs.server.namenode.NameNode:无法启动namenode。 java.net.BindException:将问题绑定到[hadoop-master:8020] java.net.BindException:地址已在使用中;有关详细信息,请参阅:http://wiki.apache.org/hadoop/BindException 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45 ) at org.apache.hadoop.net.NetUtils(java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:792) .wrapException(NetUtils.java:721) 在org.apache.hadoop.ipc.Server.bind(Server.java:425) 在org.apache.hadoop.ipc.Server $监听器。(Server.java:574) at org.apache.hadoop.ipc.Server。(Server.java:2215) at org.apache.hadoop.ipc.RPC $ Server。(RPC.java:938) at org.apache.hadoop.ipc.ProtobufRpcEngine $ Server。(ProtobufRpcEngine.java:534) at org.apache.hadoop。 ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:509) at org.apache.hadoop.ipc.RPC $ Builder.build(RPC.java:783) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer。 (NameNodeRpcServer.java:344) at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:673) at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode的.java:646) 在org.apache.hadoop.hdfs.server.namenode.NameNode(NameNode.java:811) 在org.apache.hadoop.hdfs.server.namenode.NameNode(NameNode.java:795 ) 在org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1488) 在org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1554) 引起:java.net.BindException:地址已在使用 at sun.nio.ch.Net.bind0(Native Method) at sun.nio。ch.Net.bind(Net.java:463) at sun.nio.ch.Net.bind(Net.java:455) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.hadoop.ipc.Server.bind(Server.java:408) ... 13更多 2016-04-26 03: 29:17,103 INFO org.apache.hadoop.util.ExitUtil:正在退出状态1 2016-04-26 03:29:17,109 INFO org.apache.hadoop.hdfs.server.namenode.NameNode:SHUTDOWN_MSG: /** ************************************************** ******** SHUTDOWN_MSG:关闭hadoop-master上的NameNode/127.0.0.1 *************************** *********************************/ ubuntu @ hadoop-master:/ usr/local/hadoop $

回答

0

DFS需要格式化。只需发出以下命令;

的Hadoop的NameNode -format

或者

HDFS的NameNode -format

+0

我用stop-dfs和start-dfs做了几次,但我没有改进 –

0

核心-site.xml中检查你的NameNode的地址。更改为50070或9000并尝试

namenode Web UI的默认地址是http://localhost:50070/。您可以在浏览器中打开此地址并查看namenode信息。

namenode服务器的默认地址是hdfs:// localhost:8020 /。您可以连接到HDFS API以访问HDFS。这是真正的服务地址。

http://blog.cloudera.com/blog/2009/08/hadoop-default-ports-quick-reference/

+0

感谢您的回复。 我尝试了两种,但namenode没有开始。如果名称节点没有启动,那么我们无法查看Web UI仪式。 –

+0

你可以发布namenode日志 – BruceWayne

+0

是的,我已经更新了这个问题 –

0

尝试格式化名称节点。 $] hadoop namenode -format

0

您的错误日志清楚地表明它不能绑定默认端口。

java.net.BindException: Problem binding to [hadoop-master:8020] java.net.BindException: Address already in use; For more details see: http://wiki.apache.org/hadoop/BindException 

您需要将默认端口更改为某个空闲的端口。

以下是hdfs-default.xmlhere中给出的端口列表。

+0

非常感谢。我的名字节点已经启动,现在我可以看到Web UI。 我有一个新问题,活节点和数据节点的数量显示为0.但是,当我ssh进入我的从节点并键入'jps'时,它显示为数据节点进程正在运行。 –