Class DefaultDelegationTokenManager
- java.lang.Object
-
- org.apache.flink.runtime.security.token.DefaultDelegationTokenManager
-
- All Implemented Interfaces:
DelegationTokenManager
@Internal public class DefaultDelegationTokenManager extends Object implements DelegationTokenManager
Manager for delegation tokens in a Flink cluster.When delegation token renewal is enabled, this manager will make sure long-running apps can run without interruption while accessing secured services. It periodically contacts all the configured secure services to obtain delegation tokens to be distributed to the rest of the application.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.flink.runtime.security.token.DelegationTokenManager
DelegationTokenManager.Listener
-
-
Constructor Summary
Constructors Constructor Description DefaultDelegationTokenManager(org.apache.flink.configuration.Configuration configuration, org.apache.flink.core.plugin.PluginManager pluginManager, org.apache.flink.util.concurrent.ScheduledExecutor scheduledExecutor, ExecutorService ioExecutor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
obtainDelegationTokens()
Obtains new tokens in a one-time fashion and automatically distributes them to all local JVM receivers.void
obtainDelegationTokens(DelegationTokenContainer container)
Obtains new tokens in a one-time fashion and leaves it up to the caller to distribute them.protected Optional<Long>
obtainDelegationTokensAndGetNextRenewal(DelegationTokenContainer container)
void
start(DelegationTokenManager.Listener listener)
Creates a re-occurring task which obtains new tokens and automatically distributes them to task managers.void
stop()
Stops re-occurring token obtain task.
-
-
-
Constructor Detail
-
DefaultDelegationTokenManager
public DefaultDelegationTokenManager(org.apache.flink.configuration.Configuration configuration, @Nullable org.apache.flink.core.plugin.PluginManager pluginManager, @Nullable org.apache.flink.util.concurrent.ScheduledExecutor scheduledExecutor, @Nullable ExecutorService ioExecutor)
-
-
Method Detail
-
obtainDelegationTokens
public void obtainDelegationTokens(DelegationTokenContainer container) throws Exception
Obtains new tokens in a one-time fashion and leaves it up to the caller to distribute them.- Specified by:
obtainDelegationTokens
in interfaceDelegationTokenManager
- Throws:
Exception
-
obtainDelegationTokens
public void obtainDelegationTokens() throws Exception
Description copied from interface:DelegationTokenManager
Obtains new tokens in a one-time fashion and automatically distributes them to all local JVM receivers.- Specified by:
obtainDelegationTokens
in interfaceDelegationTokenManager
- Throws:
Exception
-
obtainDelegationTokensAndGetNextRenewal
protected Optional<Long> obtainDelegationTokensAndGetNextRenewal(DelegationTokenContainer container)
-
start
public void start(DelegationTokenManager.Listener listener) throws Exception
Creates a re-occurring task which obtains new tokens and automatically distributes them to task managers.- Specified by:
start
in interfaceDelegationTokenManager
- Throws:
Exception
-
stop
public void stop()
Stops re-occurring token obtain task.- Specified by:
stop
in interfaceDelegationTokenManager
-
-