if (HAUtil.isHAEnabled(conf)) { YarnConfiguration yarnConf = new YarnConfiguration(conf); String active = RMHAUtils.findActiveRMHAId(yarnConf); rmWebHost = HAUtil.getConfValueForRMInstance(HAUtil.addSuffix(webappConfKey, active), defaultAddr, yarnConf);
public static String findActiveRMHAId(YarnConfiguration conf) { YarnConfiguration yarnConf = new YarnConfiguration(conf); Collection<String> rmIds = yarnConf.getStringCollection(YarnConfiguration.RM_HA_IDS); for (String currentId : rmIds) { yarnConf.set(YarnConfiguration.RM_HA_ID, currentId); try { HAServiceState haState = getHAState(yarnConf); if (haState.equals(HAServiceState.ACTIVE)) { return currentId; } } catch (Exception e) { // Couldn't check if this RM is active. Do nothing. Worst case, // we wouldn't find an Active RM and return null. } } return null; // Couldn't find an Active RM }
public static List<String> getProxyHostsAndPortsForAmFilter( Configuration conf) { List<String> addrs = new ArrayList<String>(); String proxyAddr = conf.get(YarnConfiguration.PROXY_ADDRESS); // If PROXY_ADDRESS isn't set, fallback to RM_WEBAPP(_HTTPS)_ADDRESS // There could be multiple if using RM HA if (proxyAddr == null || proxyAddr.isEmpty()) { // If RM HA is enabled, try getting those addresses if (HAUtil.isHAEnabled(conf)) { List<String> haAddrs = RMHAUtils.getRMHAWebappAddresses(new YarnConfiguration(conf)); for (String addr : haAddrs) { try { InetSocketAddress socketAddr = NetUtils.createSocketAddr(addr); addrs.add(getResolvedAddress(socketAddr)); } catch(IllegalArgumentException e) { // skip if can't resolve } } } // If couldn't resolve any of the addresses or not using RM HA, fallback if (addrs.isEmpty()) { addrs.add(getResolvedRMWebAppURLWithoutScheme(conf)); } } else { addrs.add(proxyAddr); } return addrs; }
public static String findActiveRMHAId(YarnConfiguration conf) { YarnConfiguration yarnConf = new YarnConfiguration(conf); Collection<String> rmIds = yarnConf.getStringCollection(YarnConfiguration.RM_HA_IDS); for (String currentId : rmIds) { yarnConf.set(YarnConfiguration.RM_HA_ID, currentId); try { HAServiceState haState = getHAState(yarnConf); if (haState.equals(HAServiceState.ACTIVE)) { return currentId; } } catch (Exception e) { // Couldn't check if this RM is active. Do nothing. Worst case, // we wouldn't find an Active RM and return null. } } return null; // Couldn't find an Active RM }
public static List<String> getProxyHostsAndPortsForAmFilter( Configuration conf) { List<String> addrs = new ArrayList<String>(); String proxyAddr = conf.get(YarnConfiguration.PROXY_ADDRESS); // If PROXY_ADDRESS isn't set, fallback to RM_WEBAPP(_HTTPS)_ADDRESS // There could be multiple if using RM HA if (proxyAddr == null || proxyAddr.isEmpty()) { // If RM HA is enabled, try getting those addresses if (HAUtil.isHAEnabled(conf)) { List<String> haAddrs = RMHAUtils.getRMHAWebappAddresses(new YarnConfiguration(conf)); for (String addr : haAddrs) { try { InetSocketAddress socketAddr = NetUtils.createSocketAddr(addr); addrs.add(getResolvedAddress(socketAddr)); } catch(IllegalArgumentException e) { // skip if can't resolve } } } // If couldn't resolve any of the addresses or not using RM HA, fallback if (addrs.isEmpty()) { addrs.add(getResolvedRMWebAppURLWithoutScheme(conf)); } } else { addrs.add(proxyAddr); } return addrs; }
protected String findRedirectUrl() throws ServletException { String addr; if (proxyUriBases.size() == 1) { // external proxy or not RM HA addr = proxyUriBases.values().iterator().next(); } else { // RM HA YarnConfiguration conf = new YarnConfiguration(); String activeRMId = RMHAUtils.findActiveRMHAId(conf); String addressPropertyPrefix = YarnConfiguration.useHttps(conf) ? YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS : YarnConfiguration.RM_WEBAPP_ADDRESS; String host = conf.get( HAUtil.addSuffix(addressPropertyPrefix, activeRMId)); addr = proxyUriBases.get(host); } if (addr == null) { throw new ServletException( "Could not determine the proxy server for redirection"); } return addr; } }
public static String findActiveRMHAId(YarnConfiguration conf) { YarnConfiguration yarnConf = new YarnConfiguration(conf); Collection<String> rmIds = yarnConf.getStringCollection(YarnConfiguration.RM_HA_IDS); for (String currentId : rmIds) { yarnConf.set(YarnConfiguration.RM_HA_ID, currentId); try { HAServiceState haState = getHAState(yarnConf); if (haState.equals(HAServiceState.ACTIVE)) { return currentId; } } catch (Exception e) { // Couldn't check if this RM is active. Do nothing. Worst case, // we wouldn't find an Active RM and return null. } } return null; // Couldn't find an Active RM }
public static List<String> getProxyHostsAndPortsForAmFilter( Configuration conf) { List<String> addrs = new ArrayList<String>(); String proxyAddr = conf.get(YarnConfiguration.PROXY_ADDRESS); // If PROXY_ADDRESS isn't set, fallback to RM_WEBAPP(_HTTPS)_ADDRESS // There could be multiple if using RM HA if (proxyAddr == null || proxyAddr.isEmpty()) { // If RM HA is enabled, try getting those addresses if (HAUtil.isHAEnabled(conf)) { List<String> haAddrs = RMHAUtils.getRMHAWebappAddresses(new YarnConfiguration(conf)); for (String addr : haAddrs) { try { InetSocketAddress socketAddr = NetUtils.createSocketAddr(addr); addrs.add(getResolvedAddress(socketAddr)); } catch(IllegalArgumentException e) { // skip if can't resolve } } } // If couldn't resolve any of the addresses or not using RM HA, fallback if (addrs.isEmpty()) { addrs.add(getResolvedRMWebAppURLWithoutScheme(conf)); } } else { addrs.add(proxyAddr); } return addrs; }
protected String findRedirectUrl() throws ServletException { String addr; if (proxyUriBases.size() == 1) { // external proxy or not RM HA addr = proxyUriBases.values().iterator().next(); } else { // RM HA YarnConfiguration conf = new YarnConfiguration(); String activeRMId = RMHAUtils.findActiveRMHAId(conf); String addressPropertyPrefix = YarnConfiguration.useHttps(conf) ? YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS : YarnConfiguration.RM_WEBAPP_ADDRESS; String host = conf.get( HAUtil.addSuffix(addressPropertyPrefix, activeRMId)); addr = proxyUriBases.get(host); } if (addr == null) { throw new ServletException( "Could not determine the proxy server for redirection"); } return addr; } }
protected String findRedirectUrl() throws ServletException { String addr; if (proxyUriBases.size() == 1) { // external proxy or not RM HA addr = proxyUriBases.values().iterator().next(); } else { // RM HA YarnConfiguration conf = new YarnConfiguration(); String activeRMId = RMHAUtils.findActiveRMHAId(conf); String addressPropertyPrefix = YarnConfiguration.useHttps(conf) ? YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS : YarnConfiguration.RM_WEBAPP_ADDRESS; String host = conf.get( HAUtil.addSuffix(addressPropertyPrefix, activeRMId)); addr = proxyUriBases.get(host); } if (addr == null) { throw new ServletException( "Could not determine the proxy server for redirection"); } return addr; } }
private String getRestStatusCheckUrl(Job job, KylinConfig config) { final String yarnStatusCheckUrl = config.getYarnStatusCheckUrl(); if (yarnStatusCheckUrl != null) { return yarnStatusCheckUrl; } else { logger.info(KylinConfig.KYLIN_JOB_YARN_APP_REST_CHECK_URL + " is not set, read from job configuration"); } String rmWebHost = HAUtil.getConfValueForRMInstance(YarnConfiguration.RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_ADDRESS, job.getConfiguration()); if (HAUtil.isHAEnabled(job.getConfiguration())) { YarnConfiguration conf = new YarnConfiguration(job.getConfiguration()); String active = RMHAUtils.findActiveRMHAId(conf); rmWebHost = HAUtil.getConfValueForRMInstance(HAUtil.addSuffix(YarnConfiguration.RM_WEBAPP_ADDRESS, active), YarnConfiguration.DEFAULT_RM_WEBAPP_ADDRESS, conf); } if (StringUtils.isEmpty(rmWebHost)) { return null; } if (rmWebHost.startsWith("http://") || rmWebHost.startsWith("https://")) { //do nothing } else { rmWebHost = "http://" + rmWebHost; } logger.info("yarn.resourcemanager.webapp.address:" + rmWebHost); return rmWebHost + "/ws/v1/cluster/apps/${job_id}?anonymous=true"; }
if (HAUtil.isHAEnabled(conf)) { YarnConfiguration yarnConf = new YarnConfiguration(conf); String active = RMHAUtils.findActiveRMHAId(yarnConf); rmWebHost = HAUtil.getConfValueForRMInstance(HAUtil.addSuffix(webappConfKey, active), defaultAddr, yarnConf);
private String buildRedirectPath() { // make a copy of the original configuration so not to mutate it. Also use // an YarnConfiguration to force loading of yarn-site.xml. YarnConfiguration yarnConf = new YarnConfiguration(rm.getConfig()); String activeRMHAId = RMHAUtils.findActiveRMHAId(yarnConf); String path = ""; if (activeRMHAId != null) { yarnConf.set(YarnConfiguration.RM_HA_ID, activeRMHAId); InetSocketAddress sock = YarnConfiguration.useHttps(yarnConf) ? yarnConf.getSocketAddr(YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_PORT) : yarnConf.getSocketAddr(YarnConfiguration.RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_PORT); path = sock.getHostName() + ":" + Integer.toString(sock.getPort()); path = YarnConfiguration.useHttps(yarnConf) ? "https://" + path : "http://" + path; } return path; }
private String buildRedirectPath() { // make a copy of the original configuration so not to mutate it. Also use // an YarnConfiguration to force loading of yarn-site.xml. YarnConfiguration yarnConf = new YarnConfiguration(rm.getConfig()); String activeRMHAId = RMHAUtils.findActiveRMHAId(yarnConf); String path = ""; if (activeRMHAId != null) { yarnConf.set(YarnConfiguration.RM_HA_ID, activeRMHAId); InetSocketAddress sock = YarnConfiguration.useHttps(yarnConf) ? yarnConf.getSocketAddr(YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_PORT) : yarnConf.getSocketAddr(YarnConfiguration.RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_PORT); path = sock.getHostName() + ":" + Integer.toString(sock.getPort()); path = YarnConfiguration.useHttps(yarnConf) ? "https://" + path : "http://" + path; } return path; }
private String buildRedirectPath() { // make a copy of the original configuration so not to mutate it. Also use // an YarnConfiguration to force loading of yarn-site.xml. YarnConfiguration yarnConf = new YarnConfiguration(rm.getConfig()); String activeRMHAId = RMHAUtils.findActiveRMHAId(yarnConf); String path = ""; if (activeRMHAId != null) { yarnConf.set(YarnConfiguration.RM_HA_ID, activeRMHAId); InetSocketAddress sock = YarnConfiguration.useHttps(yarnConf) ? yarnConf.getSocketAddr(YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_PORT) : yarnConf.getSocketAddr(YarnConfiguration.RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_PORT); path = sock.getHostName() + ":" + Integer.toString(sock.getPort()); path = YarnConfiguration.useHttps(yarnConf) ? "https://" + path : "http://" + path; } return path; }