首页 > 解决方案 > HDFS NFS 启动错误:“ERROR portmap.Portmap: 无法启动服务器... ChannelException: 无法绑定”

问题描述

尝试按照文档使用/启动 HDFS NFS ,但在尝试设置启动hadoop portmap服务的 NFS 服务时遇到错误:

[root@HW02 hdfs]# service rpcbind stop
Redirecting to /bin/systemctl stop rpcbind.service
Warning: Stopping rpcbind.service, but it can still be activated by:
  rpcbind.socket
[root@HW02 hdfs]#
[root@HW02 hdfs]#
[root@HW02 hdfs]# hadoop portmap

WARNING: Use of this script to execute portmap is deprecated.

WARNING: Attempting to execute replacement "hdfs portmap" instead.

19/07/23 10:17:14 INFO portmap.Portmap: STARTUP_MSG:

/************************************************************

STARTUP_MSG: Starting Portmap

STARTUP_MSG: host = HW02.co.local/172.18.4.47

STARTUP_MSG: args = []

STARTUP_MSG: version = 3.1.1.3.1.0.0-78

STARTUP_MSG: classpath = /usr/hdp/3.1.0.0-78/hadoop/conf:/usr/hdp/3.1.0.0-78/hadoop/lib/jersey-server-1.19.jar:/usr/hdp/3.1.0.0-78/hadoop/lib/ranger-hdfs-plugin-shim-1.2.0.3.1.0.0-78.jar:/usr/hdp/3.1.0.0-78/hadoop/lib/jersey-servlet-1.19.jar:/usr/hdp/3.1.0.0-78/hadoop/lib/ranger-plugin-classloader-1.2.0.3.1.0.0-78.jar:

...<many other jars>...

STARTUP_MSG: build = git@github.com:hortonworks/hadoop.git -r e4f82af51faec922b4804d0232a637422ec29e64; compiled by 'jenkins' on 2018-12-06T12:26Z

STARTUP_MSG: java = 1.8.0_112

************************************************************/

19/07/23 10:17:14 INFO portmap.Portmap: registered UNIX signal handlers for [TERM, HUP, INT]

19/07/23 10:17:14 ERROR portmap.Portmap: Failed to start the server. Cause:

org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:111

at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)

at org.apache.hadoop.portmap.Portmap.start(Portmap.java:122)

at org.apache.hadoop.portmap.Portmap.main(Portmap.java:65)

Caused by: java.net.BindException: Address already in use

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.jboss.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193)

at org.jboss.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:391)

at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:315)

at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)

at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)

at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

19/07/23 10:17:14 INFO portmap.Portmap: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down Portmap at HW02.co.local/172.18.4.47

************************************************************/

不确定如何解释此处看到的任何错误、任何调试建议或解决方案如何解决此问题?

标签: hadoophdfs

解决方案


在调试另一个 NFS 网关问题时找到答案,请参阅https://stackoverflow.com/a/57228283/8236733

TLDR:nfs 网关服务已经在运行(显然是默认情况下),并且我认为阻止 hadoop nfs3 服务(jsvc.exec)启动的服务是(我假设)该服务的一部分已经在运行。如果您已经通过 ambari 管理集群,则为 HDP3.1 的 HDFS 设置 NFS 网关的文档不一定是最好的方法。


推荐阅读