|
@@ -21,6 +21,7 @@ package org.apache.hadoop.yarn.server;
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.net.InetAddress;
|
|
|
+import java.net.InetSocketAddress;
|
|
|
import java.net.UnknownHostException;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Map;
|
|
@@ -36,6 +37,7 @@ import org.apache.hadoop.fs.FileContext;
|
|
|
import org.apache.hadoop.fs.Path;
|
|
|
import org.apache.hadoop.ha.HAServiceProtocol;
|
|
|
import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
|
|
|
+import org.apache.hadoop.net.NetUtils;
|
|
|
import org.apache.hadoop.security.token.Token;
|
|
|
import org.apache.hadoop.service.AbstractService;
|
|
|
import org.apache.hadoop.service.CompositeService;
|
|
@@ -445,7 +447,16 @@ public class MiniYARNCluster extends CompositeService {
|
|
|
|
|
|
public static String getHostname() {
|
|
|
try {
|
|
|
- return InetAddress.getLocalHost().getHostName();
|
|
|
+ String hostname = InetAddress.getLocalHost().getHostName();
|
|
|
+ // Create InetSocketAddress to see whether it is resolved or not.
|
|
|
+ // If not, just return "localhost".
|
|
|
+ InetSocketAddress addr =
|
|
|
+ NetUtils.createSocketAddrForHost(hostname, 1);
|
|
|
+ if (addr.isUnresolved()) {
|
|
|
+ return "localhost";
|
|
|
+ } else {
|
|
|
+ return hostname;
|
|
|
+ }
|
|
|
}
|
|
|
catch (UnknownHostException ex) {
|
|
|
throw new RuntimeException(ex);
|