1

同じマシン で実行中のeclipe から mapreduce プログラムを実行する際に問題がありwindowsます。hadoop Pseudo clusterUbuntu VM

私は走っていhadoop 1.0.3ます。eclipse Junoと同様Ganymedeに試しましeclipse plugin 1.0.3たが、成功しませんでした。Linux VMmapreduce の場所として 追加するたびに、接続エラーが発生します。

また、以下のような構成でプロパティを直接設定しようとしましたが、それ以上の運はありませんでした。これを として実行しjava applicationます。

Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://192.168.65.132:8020/");
conf.set("mapred.job.tracker", "192.168.65.132:8021");
conf.set("hadoop.job.ugi", "hadoop");

次のエラーが表示されます。

13/01/08 09:59:44 INFO ipc.Client: Retrying connect to server: 192.168.65.132/192.168.65.132:8020. Already tried 7 time(s).
13/01/08 09:59:46 INFO ipc.Client: Retrying connect to server: 192.168.65.132/192.168.65.132:8020. Already tried 8 time(s).
13/01/08 09:59:48 INFO ipc.Client: Retrying connect to server: 192.168.65.132/192.168.65.132:8020. Already tried 9 time(s).
Exception in thread "main" java.net.ConnectException: Call to 192.168.65.132/192.168.65.132:8020 failed on connection exception: java.net.ConnectException: Connection refused: no further information

at org.apache.hadoop.ipc.Client.wrapException(Client.java:1099)
at org.apache.hadoop.ipc.Client.call(Client.java:1075)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at $Proxy1.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379)
at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:119)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:238)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:203)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1386)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1404)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:254)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:123)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:238)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:187)
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:372)
at inverika.training.examples.WordCount.main(WordCount.java:37)
    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:599)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489)
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:434)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:560)
at org.apache.hadoop.ipc.Client$Connection.access$2000(Client.java:184)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1206)
at org.apache.hadoop.ipc.Client.call(Client.java:1050)
... 17 more

同様のセットアップを試した人はいますか?これについてあなたの経験を共有してください。

ネット統計ダンプ:

Proto Recv-Q Send-Q Local Address   Foreign Address State 
tcp6  0      0      127.0.0.1:8020  :::*            LISTEN 
tcp6  0      0      127.0.0.1:8021  :::*            LISTEN 
tcp6  0      0      127.0.0.1:58399 127.0.0.1:8020  ESTABLISHED 
tcp6  0      0      127.0.0.1:8020  127.0.0.1:58399 ESTABLISHED 
tcp6  0      0      127.0.0.1:45042 127.0.0.1:8021  ESTABLISHED 
tcp6  0      0      127.0.0.1:8021  127.0.0.1:45042 ESTABLISHED
4

2 に答える 2

0

netstat から、擬似 vm はそれ自体 (VM) からの接続のみを受け入れるように見えます。NN と JT の netstat エントリは次のようになると思います。

Proto Recv-Q Send-Q Local Address   Foreign Address State 
tcp   0      0      0.0.0.0:8020    :::*            LISTEN 
tcp   0      0      0.0.0.0:8021    :::*            LISTEN

プロトが tcp6 であることが重要かどうかはわかりませんが、外部から接続する場合は、ローカル アドレスが 0.0.0.0:[port] として表示されるはずです。127.0.0.1 はループバック アドレスであるため、接続は VM 自体からのみ受け入れられます。

また、VM ネットワークがどのように構成されているか (NAT、ブリッジなど) も確認する必要があります。Windows のコマンド ラインから VM アドレスに ping を実行できない場合 ( ping 192.168.65.132)、Eclipse に通信させることはできません。 VM どちらか。アドレスは何ですか192.168.65.132- それは Windows の IP アドレスですか、それとも VM のアドレスですか?

したがって、これを解決するには、VM ネットワークを再構成し、hadoop 構成を修正して vm ホスト名 / IP アドレス (127.0.0.1 ではない) を使用する必要があります。または、次のようなものを利用できる場合があります。 PuTTY を使用して、いくつかの動的な IPv4 ソックス トンネルを作成します。

于 2013-01-25T11:55:46.727 に答える
0

ubuntuの場合、私はmicheal-nollに従いましたが、動作します。これを試してみて ください http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

于 2014-06-18T11:49:57.430 に答える