diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ClientRMProxy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ClientRMProxy.java index c69a9df561b..f8e09859700 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ClientRMProxy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ClientRMProxy.java @@ -20,6 +20,7 @@ import java.io.IOException; import java.net.InetSocketAddress; +import java.net.UnknownHostException; import java.util.ArrayList; import org.slf4j.Logger; @@ -151,9 +152,15 @@ public static Text getTokenService(Configuration conf, String address, for (String rmId : HAUtil.getRMHAIds(conf)) { // Set RM_ID to get the corresponding RM_ADDRESS yarnConf.set(YarnConfiguration.RM_HA_ID, rmId); - services.add(SecurityUtil.buildTokenService( - yarnConf.getSocketAddr(address, defaultAddr, defaultPort)) - .toString()); + String tokenService = null + try { + tokenService = SecurityUtil + .buildTokenService(yarnConf.getSocketAddr(address, defaultAddr, defaultPort)).toString(); + } catch (UnknownHostException e) { + LOG.error("Failed to buildTokenService because of UnknownHostException: ", e); + continue; + } + services.add(tokenService); } return new Text(Joiner.on(',').join(services)); }