命令“hdfs dfsadmin -report”失败,因为“无法连接到服务器”

命令“hdfs dfsadmin -report”失败,因为“无法连接到服务器”

我正在尝试配置一个开源Hadoop的多节点集群。我在名称节点和数据节点上安装了 Hadoop 3.0。两者都运行 Linux(SUSE 和 Ubuntu)。 CentOS、RedHat 或 Fedora 都不是。

我尝试了 .xml 文件的不同设置(例如,不同的端口号)。任何配置我基本上都会遇到同样的错误。我尝试过 hdfs 重新格式化 namenode 并重新启动服务器:

sudo -i hdfs namenode format

没有防火墙阻止服务器之间的连接。我已确保与 hadoop 将写入(/fs/hadoop/tmp/)的 namenode 上的目录关联的所有者和组是 hduser 和 hadoop。我还确保任何人都可以写入它(当我使用时,所有者、组和用户都有一个“w” ls -l)。

我可以使用 start-dfs.sh 和 start-yarn.sh 脚本。它们似乎起作用了。

sudo jps返回这个:

2513 Jps
1667 DataNode
2468 DFSAdmin
2134 NodeManager
1849 SecondaryNameNode

在此文件中,/usr/local/hadoop/etc/hadoop/core-site.xml我使用了本地主机名、FQDN 和 0.0.0.0。我已经停止了yarn和hdfs服务并格式化了hdfs。尝试这些不同的事情对我没有帮助。问题是我希望该 sudo -i hdfs dfsadmin -report命令能够工作。但这是我运行后看到的:

18/01/02 04:48:38 WARN ipc.Client: Failed to connect to server: namenodesrvr/127.0.0.1:9000: try once and fail.
java.net.ConnectException: Connection refused
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
        at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
        at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
        at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:495)
        at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:681)
        at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:777)
        at org.apache.hadoop.ipc.Client$Connection.access$3500(Client.java:409)
        at org.apache.hadoop.ipc.Client.getConnection(Client.java:1542)
        at org.apache.hadoop.ipc.Client.call(Client.java:1373)
        at org.apache.hadoop.ipc.Client.call(Client.java:1337)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:227)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116)
        at com.sun.proxy.$Proxy10.getFsStats(Unknown Source)
        at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getStats(ClientNamenodeProtocolTranslatorPB.java:626)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:398)
        at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:163)
        at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:155)
        at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:335)
        at com.sun.proxy.$Proxy11.getStats(Unknown Source)
        at org.apache.hadoop.hdfs.DFSClient.getStateByIndex(DFSClient.java:2073)
        at org.apache.hadoop.hdfs.DFSClient.getDiskStatus(DFSClient.java:2082)
        at org.apache.hadoop.hdfs.DistributedFileSystem.getStatus(DistributedFileSystem.java:1224)
        at org.apache.hadoop.fs.FileSystem.getStatus(FileSystem.java:2350)
        at org.apache.hadoop.hdfs.tools.DFSAdmin.report(DFSAdmin.java:476)
        at org.apache.hadoop.hdfs.tools.DFSAdmin.run(DFSAdmin.java:1908)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
        at org.apache.hadoop.hdfs.tools.DFSAdmin.main(DFSAdmin.java:2099)
report: Call From localhost/127.0.0.1 to namenodesrvr:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

我可以更改什么才能使用该sudo -i hdfs dfsadmin -report命令?

相关内容