YARN-1590. Fixed ResourceManager, web-app proxy and MR JobHistoryServer to expand _HOST properly in their kerberos principles. Contributed by Mohammad Kamrul Islam.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1569537 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a845a18c67
commit
6b03174aae
|
@ -19,6 +19,7 @@
|
||||||
package org.apache.hadoop.mapreduce.v2.hs;
|
package org.apache.hadoop.mapreduce.v2.hs;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -169,8 +170,21 @@ public class JobHistoryServer extends CompositeService {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void doSecureLogin(Configuration conf) throws IOException {
|
protected void doSecureLogin(Configuration conf) throws IOException {
|
||||||
|
InetSocketAddress socAddr = getBindAddress(conf);
|
||||||
SecurityUtil.login(conf, JHAdminConfig.MR_HISTORY_KEYTAB,
|
SecurityUtil.login(conf, JHAdminConfig.MR_HISTORY_KEYTAB,
|
||||||
JHAdminConfig.MR_HISTORY_PRINCIPAL);
|
JHAdminConfig.MR_HISTORY_PRINCIPAL, socAddr.getHostName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve JHS bind address from configuration
|
||||||
|
*
|
||||||
|
* @param conf
|
||||||
|
* @return InetSocketAddress
|
||||||
|
*/
|
||||||
|
public static InetSocketAddress getBindAddress(Configuration conf) {
|
||||||
|
return conf.getSocketAddr(JHAdminConfig.MR_HISTORY_ADDRESS,
|
||||||
|
JHAdminConfig.DEFAULT_MR_HISTORY_ADDRESS,
|
||||||
|
JHAdminConfig.DEFAULT_MR_HISTORY_PORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -295,6 +295,10 @@ Release 2.4.0 - UNRELEASED
|
||||||
YARN-1724. Race condition in Fair Scheduler when continuous scheduling is
|
YARN-1724. Race condition in Fair Scheduler when continuous scheduling is
|
||||||
turned on (Sandy Ryza)
|
turned on (Sandy Ryza)
|
||||||
|
|
||||||
|
YARN-1590. Fixed ResourceManager, web-app proxy and MR JobHistoryServer to
|
||||||
|
expand _HOST properly in their kerberos principles. (Mohammad Kamrul Islam
|
||||||
|
va vinodkv)
|
||||||
|
|
||||||
Release 2.3.1 - UNRELEASED
|
Release 2.3.1 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -861,6 +861,9 @@ public class YarnConfiguration extends Configuration {
|
||||||
/** The address for the web proxy.*/
|
/** The address for the web proxy.*/
|
||||||
public static final String PROXY_ADDRESS =
|
public static final String PROXY_ADDRESS =
|
||||||
PROXY_PREFIX + "address";
|
PROXY_PREFIX + "address";
|
||||||
|
public static final int DEFAULT_PROXY_PORT = 9099;
|
||||||
|
public static final String DEFAULT_PROXY_ADDRESS =
|
||||||
|
"0.0.0.0:" + DEFAULT_RM_PORT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* YARN Service Level Authorization
|
* YARN Service Level Authorization
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
package org.apache.hadoop.yarn.server.resourcemanager;
|
package org.apache.hadoop.yarn.server.resourcemanager;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.BlockingQueue;
|
import java.util.concurrent.BlockingQueue;
|
||||||
import java.util.concurrent.LinkedBlockingQueue;
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
@ -894,8 +895,9 @@ public class ResourceManager extends CompositeService implements Recoverable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void doSecureLogin() throws IOException {
|
protected void doSecureLogin() throws IOException {
|
||||||
|
InetSocketAddress socAddr = getBindAddress(conf);
|
||||||
SecurityUtil.login(this.conf, YarnConfiguration.RM_KEYTAB,
|
SecurityUtil.login(this.conf, YarnConfiguration.RM_KEYTAB,
|
||||||
YarnConfiguration.RM_PRINCIPAL);
|
YarnConfiguration.RM_PRINCIPAL, socAddr.getHostName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1042,4 +1044,17 @@ public class ResourceManager extends CompositeService implements Recoverable {
|
||||||
addIfService(rmDispatcher);
|
addIfService(rmDispatcher);
|
||||||
rmContext.setDispatcher(rmDispatcher);
|
rmContext.setDispatcher(rmDispatcher);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve RM bind address from configuration
|
||||||
|
*
|
||||||
|
* @param conf
|
||||||
|
* @return InetSocketAddress
|
||||||
|
*/
|
||||||
|
public static InetSocketAddress getBindAddress(Configuration conf) {
|
||||||
|
return conf.getSocketAddr(YarnConfiguration.RM_ADDRESS,
|
||||||
|
YarnConfiguration.DEFAULT_RM_ADDRESS,
|
||||||
|
YarnConfiguration.DEFAULT_RM_PORT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
package org.apache.hadoop.yarn.server.webproxy;
|
package org.apache.hadoop.yarn.server.webproxy;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -69,8 +70,21 @@ public class WebAppProxyServer extends CompositeService {
|
||||||
* @throws IOException on any error.
|
* @throws IOException on any error.
|
||||||
*/
|
*/
|
||||||
protected void doSecureLogin(Configuration conf) throws IOException {
|
protected void doSecureLogin(Configuration conf) throws IOException {
|
||||||
|
InetSocketAddress socAddr = getBindAddress(conf);
|
||||||
SecurityUtil.login(conf, YarnConfiguration.PROXY_KEYTAB,
|
SecurityUtil.login(conf, YarnConfiguration.PROXY_KEYTAB,
|
||||||
YarnConfiguration.PROXY_PRINCIPAL);
|
YarnConfiguration.PROXY_PRINCIPAL, socAddr.getHostName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve PROXY bind address from configuration
|
||||||
|
*
|
||||||
|
* @param conf
|
||||||
|
* @return InetSocketAddress
|
||||||
|
*/
|
||||||
|
public static InetSocketAddress getBindAddress(Configuration conf) {
|
||||||
|
return conf.getSocketAddr(YarnConfiguration.PROXY_ADDRESS,
|
||||||
|
YarnConfiguration.DEFAULT_PROXY_ADDRESS,
|
||||||
|
YarnConfiguration.DEFAULT_PROXY_PORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
Loading…
Reference in New Issue