首页 文章

运行hadoop wordcount程序

提问于
浏览
2

我正在通过以下michael-noll教程学习hadoop . 当我试图通过运行 hadoop jar hadoop-examples-1.2.1.jar wordcount tmp/Files tmp/Output 运行wordcount示例时,我收到以下错误:

13/11/10 18:09:42 INFO ipc.Client:重试连接到服务器:localhost / 127.0.0.1:54311 . 已经尝试了0次;重试策略是RetryUpToMaximumCountWithFixedSleep(maxRetries = 10,sleepTime = 1 SECONDS) . . 13/11/10 18:09:51错误security.UserGroupInformation:PriviledgedActionException as:hduser cause:java.net.ConnectException:调用localhost / 127.0.0.1:54311连接异常失败:java.net.ConnectException:Connection refused java .net.ConnectException:在连接异常时调用localhost / 127.0.0.1:54311失败:java.net.ConnectException:org.apache中的org.apache.hadoop.ipc.Client.wrapException(Client.java:1142)连接被拒绝.hadoop.ipc.Client.call(Client.java:1118)org.apache.hadoop.ipc.RPC $ Invoker.invoke(RPC.java:229)org.apache.hadoop.mapred . $ Proxy2.getProtocolVersion(来自sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)的sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang . 在org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.ja)中反映.Method.invoke(Method.java:606) va:85)org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:62)org.apache.hadoop.mapred . $ Proxy2.getProtocolVersion(未知来源)org.apache.hadoop.ipc .RPC.checkVersion(RPC.java:422)在org.apache.hadoop.mapred.JobClient.createProxy(JobClient.java:559)在org.apache.hadoop.mapred.JobClient.init(JobClient.java:498)在org.apache.hadoop.mapred.JobClient(JobClient.java:479)在org.apache.hadoop.mapreduce.Job $ 1.run(Job.java:563)在java.security.AccessController.doPrivileged(本机方法)在javax.security.auth.Subject.doAs(Subject.java:415)在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)在org.apache.hadoop.mapreduce.Job.connect(作业 . 的java:561)在org.apache.hadoop.mapreduce.Job.submit(Job.java:549)在org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580)在org.apache.hadoop.examples .WordCount.main(WordCount.java:82)at sun.reflect.N的Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)位于org.apache.hadoop.util的java.lang.reflect.Method.invoke(Method.java:606)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中的ativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) .programDriver $ ProgramDescription.invoke(ProgramDriver.java:68)atg.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64 )sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect . 由org.apache.hadoop.util.RunJar.main(RunJar.java:160)引起的Method.invoke(Method.java:606):java.net.ConnectException:sun.nio.ch.SocketChannelImpl.checkConnect连接被拒绝(本机方法)位于org.apache.hadoop.net.Socket的sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:708) . IOWithTimeout.connect(SocketIOWithTimeout.java:206)在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:511)在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:481)在组织位于org.apache.hadoop.ipc.Client的org.apache.hadoop.ipc.Client $ Connection.setupIOstreams(Client.java:583)的.apache.hadoop.ipc.Client $ Connection.setupConnection(Client.java:457)位于org.apache.hadoop.ipc.Client.call的org.apache.hadoop.ipc.Client.getConnection(Client.java:1249)$ Connection.access $ 2200(Client.java:205)(Client.java:1093) ......还有33个

附录

我刚刚重新运行了这样的命令 bin/stop-all.shbin/start-all.shhadoop jar hadoop-examples-1.2.1.jar wordcount tmp/Files tmp/Output . 但现在我得到以下错误:

13/11/10 20时52分十二秒ERROR security.UserGroupInformation:PriviledgedActionException为:hduser原因:org.apache.hadoop.ipc.RemoteException:org.apache.hadoop.mapred.SafeModeException:JobTracker的是在组织安全模式 . 位于org.apache.hadoop.mapred.JobTracker.getStagingAreaDir(JobTracker.java:3677)的sun.reflect.NativeMethodAccessorImpl.invoke0(Native Methodsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)位于org.apache的java.lang.reflect.Method.invoke(Method.java:606)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) .hadoop.ipc.RPC $ Server.call(RPC.java:587)org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1432)org.apache.hadoop.ipc.Server $处理器$ 1.run(Server.java:1428)位于org.apache.hadoop.security.UserGroupInformation的javax.security.auth.Subject.doAs(Subject.java:415)的java.security.AccessController.doPrivileged(Native Method) .doAs(UserGroupInformation.java:1190)org.apache.hadoop.ipc.Server $ Handler.run(Server.java:1426)

org.apache.hadoop.ipc.RemoteException:org.apache.hadoop.mapred.SafeModeException:JobTracker在org.apache.hadoop的org.apache.hadoop.mapred.JobTracker.checkSafeMode(JobTracker.java:5188)处于安全模式.mapred.JobTracker.getStagingAreaDir(JobTracker.java:3677)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Plz的帮助

2 回答

  • 0

    尝试手动关闭安全模式:

    hadoop dfsadmin -safemode off
    

    要么

    hadoop dfsadmin -safemode leave
    

    然后重新运行你的工作 .

  • 1

    这是因为您的JobTracker处于安全模式,而不是nameNode . 使用以下命令确保JT不在安全模式中:

    bin/hadoop mradmin -safemode leave
    

    您可以随时使用以下显示的命令来检查您的NN和JT是否超出安全模式;

    bin/hadoop mradmin -safemode get
    
    bin/hadoop dfsadmin -safemode get
    

    另外,请确保您使用正确的用户启动后台程序 .

    enter image description here

    @Praveen Sripati:请看第二个选项 .

相关问题