public static IList <string> GetRMHAWebappAddresses(YarnConfiguration conf) { ICollection <string> rmIds = conf.GetStringCollection(YarnConfiguration.RmHaIds); IList <string> addrs = new AList <string>(); if (YarnConfiguration.UseHttps(conf)) { foreach (string id in rmIds) { string addr = conf.Get(YarnConfiguration.RmWebappHttpsAddress + "." + id); if (addr != null) { addrs.AddItem(addr); } } } else { foreach (string id in rmIds) { string addr = conf.Get(YarnConfiguration.RmWebappAddress + "." + id); if (addr != null) { addrs.AddItem(addr); } } } return(addrs); }
public static string FindActiveRMHAId(YarnConfiguration conf) { YarnConfiguration yarnConf = new YarnConfiguration(conf); ICollection <string> rmIds = yarnConf.GetStringCollection(YarnConfiguration.RmHaIds ); foreach (string currentId in rmIds) { yarnConf.Set(YarnConfiguration.RmHaId, currentId); try { HAServiceProtocol.HAServiceState haState = GetHAState(yarnConf); if (haState.Equals(HAServiceProtocol.HAServiceState.Active)) { return(currentId); } } catch (Exception) { } } // Couldn't check if this RM is active. Do nothing. Worst case, // we wouldn't find an Active RM and return null. return(null); }