hadoop - Verbindung verweigert namenode

Ich gesucht habe web-und stackoverflow für eine lange Zeit, aber es war nicht nützlich.

Habe ich installiert hadoop yarn 2.2.0 in 2 Knoten-cluster-setup. aber etwas geht schief.
wenn ich starten hadoop daemons mit start-dfs.sh und start-yarn.sh auf dem master-Knoten, die Sie erfolgreich führen in master-und slave (meine master-hostname ist RM und mein Sklave der hostname ist slv). Sie können ssh einander erfolgreich. aber wenn ich will, um einen job ausführen, wird diese Fehlermeldung angezeigt:

14/01/02 04:22:53 WARNEN util.NativeCodeLoader: Unable to load native hadoop-Bibliothek für Ihre Plattform... mit dem builtin-java-Klassen, wo zutreffend
14/01/02 04:22:56 WARNEN hdfs.DFSClient: DataStreamer Ausnahme
org.apache.hadoop.ipc.RemoteException(java.io.IOException: Datei /Benutzer/root/QuasiMonteCarlo_1388665371850_813553673/in/part0 konnte nur repliziert werden, auf 0 Knoten statt minReplication (=1). Es sind 0 datanode(s) ausgeführt werden und kein Knoten(s) sind nicht in diesem Betrieb.
bei org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1384)
bei org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2477)
bei org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:555)
bei org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSidetranslatorpb.addBlock(ClientNamenodeProtocolServerSidetranslatorpb.java:387)
bei org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:59582)
bei org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
bei org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
bei org.apache.hadoop.ipc.Server$Handler,$1.führen Sie(auf dem Server.java:2048)
bei org.apache.hadoop.ipc.Server$Handler,$1.führen Sie(auf dem Server.java:2044)
bei java.Sicherheit.AccessController.doPrivileged(Native Method)
bei javax.Sicherheit.auth.Thema.doAs(Subject.java:416)
bei org.apache.hadoop.Sicherheit.UserGroupInformation.doAs(UserGroupInformation.java:1491)
bei org.apache.hadoop.ipc.Server$Handler.führen Sie(auf dem Server.java:2042)

at org.apache.hadoop.ipc.Client.call(Client.java:1347)
at org.apache.hadoop.ipc.Client.call(Client.java:1300)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
at com.sun.proxy.$Proxy9.addBlock(Unknown Source)
at 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.Method.invoke(Method.java:622)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:186)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
at com.sun.proxy.$Proxy9.addBlock(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:330)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:1226)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1078)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:514)

und in datanode Protokoll dieses Protokoll existiert:

2014-01-02 04:40:31,616 WARNEN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem bei der Verbindung zum server: RM/192.168.1.101:9000
2014-01-02 04:40:37,618 INFO org.apache.hadoop.ipc.AUFTRAGGEBER: erneuter Versuch eine Verbindung zum server: RM/192.168.1.101:9000. Schon versucht 0 Zeit(s)$
2014-01-02 04:40:38,619 INFO org.apache.hadoop.ipc.AUFTRAGGEBER: erneuter Versuch eine Verbindung zum server: RM/192.168.1.101:9000. Habe bereits versucht 1 Zeit(s)$
2014-01-02 04:40:39,620 INFO org.apache.hadoop.ipc.AUFTRAGGEBER: erneuter Versuch eine Verbindung zum server: RM/192.168.1.101:9000. Schon versucht 2 Zeit(s)$
2014-01-02 04:40:40,621 INFO org.apache.hadoop.ipc.AUFTRAGGEBER: erneuter Versuch eine Verbindung zum server: RM/192.168.1.101:9000. Habe bereits versucht 3 Zeit(s)

Überprüfte ich den port 9000 auf dem master-Knoten und die Ausgabe ist:

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 10227/java

Ich denke das problem wird verursacht, durch den Grund, dass in der slave-Knoten, wenn ich

telnet RM 9000

er sagt

Versuchen 192.168.1.101...
telnet: Unable to connect to remote host: Connection refused

jedoch

telnet RM

Ausgabe :

Versuchen 192.168.1.101...
Angeschlossenen RM.
Escape character is '^]'.
Ubuntu 12.04.2 LTS
RM login:

für weitere Informationen auf meine /etc/hosts auf dem master und dem slave ist wie folgt:

127.0.0.1 RM|slv localhost

192.168.1.101 RM

192.168.1.103 slv

kann jemand empfehlen, mir eine Lösung?
jede Hilfe wird wirklich geschätzt.
Dank

  • Sind Sie mit iptables auf der namenode? Oder etwas anderes, das wäre die Beschränkung des Zugangs zu port 9000?
  • Guter Bericht, danke.
InformationsquelleAutor masoumeh | 2014-01-02
Schreibe einen Kommentar