【问题标题】:Hadoop port 50070 in use Windows installation errorHadoop 端口 50070 正在使用 Windows 安装错误
【发布时间】:2020-07-31 22:40:53
【问题描述】:

我是 hadoop 的新手,正在尝试在 windows 中创建一个独立的 hadoop 集群。启动名称节点时出现错误,如下所示。但是,在使用端口 50070 为进程签入 Windows 时,我找不到任何进程

Hadoop 错误:

20/04/18 08:32:24 ERROR namenode.NameNode: Failed to start namenode.
java.net.BindException: Port in use: 0.0.0.0:50070
        at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:919)
        at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:856)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeHttpServer.start(NameNodeHttpServer.java:142)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:752)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:638)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:811)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:795)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1488)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1554)
Caused by: java.net.BindException: Address already in use: bind
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
        at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:914)
        ... 8 more
20/04/18 08:32:24 INFO util.ExitUtil: Exiting with status 1
20/04/18 08:32:24 INFO namenode.NameNode: SHUTDOWN_MSG:

Windows 端口检查:

λ netstat -ano | findstr :50070

C:\work\hadoop-2.7.2\sbin

有人可以帮忙解决这个问题吗?

【问题讨论】:

  • 为什么不使用最新的稳定版 Hadoop?为什么不使用 Cloudera 快速入门 VM?

标签: hadoop port namenode


【解决方案1】:

早安! 执行以下操作,在上传 docker 之前,打开 windows 控制台并使用命令搜索其工作端口: net stat -a -n -o

  • -a: 显示所有 TCP 和 UDP 连接和端口。
  • -n: 显示端口号而不是名称。
  • -o: 显示 PID。

这样,你所要做的就是杀死服务并重新启动:

Taskkill / PID <pid> / F

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多