当前位置: 首页 > 知识库问答 >
问题:

在Hadoop上运行jar时如何解决ConnectException?

傅明知
2023-03-14

我已经编写了一个简单的map reduce作业来在一些点上执行KMeans聚类。

hadoop jar kmeans.jar KMeansJob /input /output
21/04/08 22:26:14 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
21/04/08 22:26:14 WARN mapreduce.JobResourceUploader: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.
21/04/08 22:26:17 INFO mapreduce.JobSubmitter: Cleaning up the staging area /tmp/hadoop-yarn/staging/????????/.staging/job_1617909910497_0001
Exception in thread "main" java.net.ConnectException: Call From PCNAME/XXX.XXX.X.X to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused: no further information; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:824)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:754)
        at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1497)
        at org.apache.hadoop.ipc.Client.call(Client.java:1439)
        at org.apache.hadoop.ipc.Client.call(Client.java:1349)
        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.getFileInfo(Unknown Source)
        at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:796)
        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:422)
        at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165)
        at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157)
        at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359)
        at com.sun.proxy.$Proxy11.getFileInfo(Unknown Source)
        at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1649)
        at org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1529)
        at org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1526)
        at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
        at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1526)
        at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:327)
        at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:237)
        at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestamps(ClientDistributedCacheManager.java:106)
        at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestampsAndCacheVisibilities(ClientDistributedCacheManager.java:70)
        at org.apache.hadoop.mapreduce.JobResourceUploader.uploadResourcesInternal(JobResourceUploader.java:210)
        at org.apache.hadoop.mapreduce.JobResourceUploader.uploadResources(JobResourceUploader.java:128)
        at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:101)
        at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:196)
        at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1570)
        at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1567)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1889)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:1567)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1588)
        at clustering.KMeansJob.run(KMeansJob.java:43)
        at clustering.KMeansJob.main(KMeansJob.java:47)
        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.util.RunJar.run(RunJar.java:239)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
Caused by: java.net.ConnectException: Connection refused: no further information
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:715)
        at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
        at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
        at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:687)
        at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:790)
        at org.apache.hadoop.ipc.Client$Connection.access$3500(Client.java:411)
        at org.apache.hadoop.ipc.Client.getConnection(Client.java:1554)
        at org.apache.hadoop.ipc.Client.call(Client.java:1385)
        ... 43 more

运行jps会得到以下输出:

4608 ResourceManager
13284 DataNode
7252 NameNode
10632 NodeManager
15436 Jps

问题出在哪里,有没有应对的建议?

共有1个答案

闻飞跃
2023-03-14

更改core-site.xml配置似乎可以完成工作:

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

记录一下,我以前的配置有一个值:

<value>hdfs://0.0.0.0:19000</value>
 类似资料:
  • 我有一个从Eclipse导出的jar文件(Runnable JAR 在java中,如果在清单中设置主类。可以运行的xml: 如果您想在jar文件中运行另一个主类,或者如果您没有在清单中设置主类。可以运行的xml: 在Hadoop中,如果在清单中设置了main类。可以运行的xml: 如果您键入: 它将MyOtherMainClass视为jar原始主类的“args”数组中的参数(而不是要运行的类)。

  • 问题内容: 我已使用以下语句使用此博客中的java文件创建了jar文件 现在我已经尝试通过命中和尝试各种命令在hadoop中运行此jar 1个 输出: 2。 输出: 如何在hadoop中运行jar?根据程序需要,我具有正确的DFS位置。 问题答案: 我能够重现您的问题。问题是您要在哪里创建罐子。 基本上,要打包到jar中的目录在查找主类文件时会混淆jar文件。相反,如果您尝试这样做: 例如,将类文

  • 我正在尝试在Hadoop中运行一个jar文件。我已经使用Eclipse导出功能转换了jar文件。现在的问题是,当我运行jar文件时,它显示classnotfoundexception。我在子文件夹中的主类,例如WordCount-

  • 我为map reduce应用程序创建了一个自定义jar,并尝试在Amazon EMR作业流中运行它。我在hadoop 1.0.4中编译了代码,但是Amazon EMR支持hadoop 1.0.3。此外,我在jdk 1.7下编译了代码,我不确定Amazon EMR使用的是哪个java版本,我们可以在哪里更改? 这是堆栈追踪

  • 问题内容: 我处于一个非常奇怪的位置(从我的java-newbie的角度来看): 我使用Eclipse编写了一个“ java程序”(一些带有类的.java文件),从本质上(分批)读取文本 .csv文件,“求值”其内容,并将结果写到 _out.csv文本文件中。要找到输入文件,它使用“文件选择器”(从此处获取示例:http : //docs.oracle.com/javase/tutorial/ui

  • 问题内容: 我正在执行超过1.5 TB数据的Hadoop作业,并进行了大量模式匹配。我有几台机器,每台机器都有16GB的RAM,我总是用这些数据来完成这项工作(我正在使用Hive)。 我想知道如何在文件中优化设置选项,所以我的工作不会失败。甚至可以设置此选项以使我的工作不会失败吗? 当我设置为1.5 GB并从查询中删除了一半的模式匹配时,作业成功运行。那么,如果该选项不能帮助避免作业失败,那么该选