1

私はマッパーを書いていますが、マッパーが実行されているノード名を取得できるかどうかを知りたいです。

4

2 に答える 2

3

Hadoop は自動的に MapReduce プログラムをデータのある場所に移動するので、getHostName() を実行するだけで (Java を使用している場合)、プログラムが実行されているノードの名前が返されるはずです。

java.net.InetAddress.getLocalHost().getHostName();

Python、Ruby などの他の言語を使用している場合 (つまり、HadoopStreaming を使用している場合)、同じ考え方が当てはまるため、それらの言語で利用可能な適切な関数/メソッドを使用してホスト名を取得できるはずです。

于 2012-08-15T03:18:50.630 に答える
0

ほとんどの場合、構成値fs.default.nameは namenode への URL を提供し、FileSystem ( ) のインスタンスを取得する場合は、メソッドを呼び出して同じ情報を取得Filesystem.get(conf)できるはずです。getUri()

于 2012-08-15T13:19:35.330 に答える