You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by sn...@apache.org on 2020/01/29 13:47:24 UTC
[hadoop] branch branch-3.2 updated: MAPREDUCE-7260. Cross origin
request support for Job history server web UI. Contributed by Adam Antal
This is an automated email from the ASF dual-hosted git repository.
snemeth pushed a commit to branch branch-3.2
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.2 by this push:
new 351c64f MAPREDUCE-7260. Cross origin request support for Job history server web UI. Contributed by Adam Antal
351c64f is described below
commit 351c64f32773b203f42979e6677e57b3969874cf
Author: Szilard Nemeth <sn...@apache.org>
AuthorDate: Wed Jan 29 14:47:10 2020 +0100
MAPREDUCE-7260. Cross origin request support for Job history server web UI. Contributed by Adam Antal
---
.../hadoop/mapreduce/v2/jobhistory/JHAdminConfig.java | 7 +++++++
.../hadoop/mapreduce/v2/hs/HistoryClientService.java | 15 +++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/jobhistory/JHAdminConfig.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/jobhistory/JHAdminConfig.java
index 9e964e1..1c11e77 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/jobhistory/JHAdminConfig.java
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/jobhistory/JHAdminConfig.java
@@ -256,6 +256,13 @@ public class JHAdminConfig {
"xframe-options";
/**
+ * CORS settings.
+ */
+ public static final String MR_HISTORY_ENABLE_CORS_FILTER = MR_HISTORY_PREFIX +
+ "webapp.cross-origin.enabled";
+ public static final boolean DEFAULT_MR_HISTORY_ENABLE_CORS_FILTER = false;
+
+ /**
* Settings for .jhist file format.
*/
public static final String MR_HS_JHIST_FORMAT =
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryClientService.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryClientService.java
index b63aef4..ccccaeb 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryClientService.java
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryClientService.java
@@ -75,6 +75,7 @@ import org.apache.hadoop.mapreduce.v2.hs.webapp.HsWebApp;
import org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig;
import org.apache.hadoop.mapreduce.v2.util.MRWebAppUtil;
import org.apache.hadoop.net.NetUtils;
+import org.apache.hadoop.security.HttpCrossOriginFilterInitializer;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
import org.apache.hadoop.security.token.Token;
@@ -154,6 +155,9 @@ public class HistoryClientService extends AbstractService {
@VisibleForTesting
protected void initializeWebApp(Configuration conf) throws IOException {
webApp = new HsWebApp(history);
+
+ setupFilters(conf);
+
InetSocketAddress bindAddress = MRWebAppUtil.getJHSWebBindAddress(conf);
ApplicationClientProtocol appClientProtocol =
ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class);
@@ -196,6 +200,17 @@ public class HistoryClientService extends AbstractService {
return this.bindAddress;
}
+ private void setupFilters(Configuration conf) {
+ boolean enableCorsFilter =
+ conf.getBoolean(JHAdminConfig.MR_HISTORY_ENABLE_CORS_FILTER,
+ JHAdminConfig.DEFAULT_MR_HISTORY_ENABLE_CORS_FILTER);
+
+ if (enableCorsFilter) {
+ conf.setBoolean(HttpCrossOriginFilterInitializer.PREFIX
+ + HttpCrossOriginFilterInitializer.ENABLED_SUFFIX, true);
+ }
+ }
+
private class HSClientProtocolHandler implements HSClientProtocol {
private RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null);
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org