From 2b3d4567a357fe5ea0ed8a9a07d5268dcf5f43ba Mon Sep 17 00:00:00 2001 From: slothever Date: Tue, 28 May 2024 17:20:05 +0800 Subject: [PATCH] 1 --- .../src/main/java/org/apache/doris/hudi/Utils.java | 1 + .../src/main/java/org/apache/doris/catalog/HdfsResource.java | 2 ++ .../org/apache/doris/catalog/HiveMetaStoreClientHelper.java | 3 ++- .../java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/Utils.java b/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/Utils.java index 4e8d670dac293a..9c4d3f2da4be92 100644 --- a/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/Utils.java +++ b/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/Utils.java @@ -47,6 +47,7 @@ public static UserGroupInformation getUserGroupInformation(Configuration conf) { String authentication = conf.get(Constants.HADOOP_SECURITY_AUTHENTICATION, null); if ("kerberos".equals(authentication)) { conf.set("hadoop.security.authorization", "true"); + conf.set("hadoop.kerberos.keytab.login.autorenewal.enabled", "true"); UserGroupInformation.setConfiguration(conf); String principal = conf.get(Constants.HADOOP_KERBEROS_PRINCIPAL); String keytab = conf.get(Constants.HADOOP_KERBEROS_KEYTAB); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/HdfsResource.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/HdfsResource.java index d2a03aaf90c084..94420003afb7fb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/HdfsResource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/HdfsResource.java @@ -49,6 +49,8 @@ public class HdfsResource extends Resource { public static String HADOOP_SECURITY_AUTHENTICATION = "hadoop.security.authentication"; public static String HADOOP_KERBEROS_PRINCIPAL = "hadoop.kerberos.principal"; public static String HADOOP_KERBEROS_AUTHORIZATION = "hadoop.security.authorization"; + public static String HADOOP_KERBEROS_KEYTAB_LOGIN_AUTORENEWAL_ENABLED + = "hadoop.kerberos.keytab.login.autorenewal.enabled"; public static String HADOOP_KERBEROS_KEYTAB = "hadoop.kerberos.keytab"; public static String HADOOP_SHORT_CIRCUIT = "dfs.client.read.shortcircuit"; public static String HADOOP_SOCKET_PATH = "dfs.domain.socket.path"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java index 1726d96ef5aa50..ec8803c1defecc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java @@ -909,7 +909,8 @@ public static UserGroupInformation getUserGroupInformation(Configuration conf) { UserGroupInformation ugi = null; String authentication = conf.get(HdfsResource.HADOOP_SECURITY_AUTHENTICATION, null); if (AuthType.KERBEROS.getDesc().equals(authentication)) { - conf.set("hadoop.security.authorization", "true"); + conf.set(HdfsResource.HADOOP_KERBEROS_AUTHORIZATION, "true"); + conf.set(HdfsResource.HADOOP_KERBEROS_KEYTAB_LOGIN_AUTORENEWAL_ENABLED, "true"); UserGroupInformation.setConfiguration(conf); String principal = conf.get(HdfsResource.HADOOP_KERBEROS_PRINCIPAL); String keytab = conf.get(HdfsResource.HADOOP_KERBEROS_KEYTAB); diff --git a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java index 79c83b80891d20..fca264126cfc08 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java +++ b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java @@ -127,6 +127,7 @@ private UserGroupInformation doLogin(Configuration conf) throws UserException { if (AuthType.KERBEROS.getDesc().equals( conf.get(HdfsResource.HADOOP_SECURITY_AUTHENTICATION, null))) { conf.set(HdfsResource.HADOOP_KERBEROS_AUTHORIZATION, "true"); + conf.set(HdfsResource.HADOOP_KERBEROS_KEYTAB_LOGIN_AUTORENEWAL_ENABLED, "true"); String principal = conf.get(HdfsResource.HADOOP_KERBEROS_PRINCIPAL); String keytab = conf.get(HdfsResource.HADOOP_KERBEROS_KEYTAB);