Search in sources :

Example 1 with CuratorFramework

use of org.apache.flink.shaded.curator.org.apache.curator.framework.CuratorFramework in project Taier by DTStack.

the class HighAvailabilityServicesUtils method createAvailableOrEmbeddedServices.

public static HighAvailabilityServices createAvailableOrEmbeddedServices(Configuration config, Executor executor) throws Exception {
    HighAvailabilityMode highAvailabilityMode = HighAvailabilityMode.fromConfig(config);
    switch(highAvailabilityMode) {
        case NONE:
            return new EmbeddedHaServices(executor);
        case ZOOKEEPER:
            BlobStoreService blobStoreService = BlobUtils.createBlobStoreFromConfig(config);
            CuratorFramework curatorFramework = ZooKeeperUtils.startCuratorFramework(config);
            return new ZooKeeperHaServices(curatorFramework, executor, config, blobStoreService);
        case FACTORY_CLASS:
            return createCustomHAServices(config, executor);
        default:
            throw new Exception("High availability mode " + highAvailabilityMode + " is not supported.");
    }
}
Also used : EmbeddedHaServices(org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedHaServices) ZooKeeperHaServices(org.apache.flink.runtime.highavailability.zookeeper.ZooKeeperHaServices) CuratorFramework(org.apache.flink.shaded.curator.org.apache.curator.framework.CuratorFramework) HighAvailabilityMode(org.apache.flink.runtime.jobmanager.HighAvailabilityMode) BlobStoreService(org.apache.flink.runtime.blob.BlobStoreService) FlinkException(org.apache.flink.util.FlinkException) ConfigurationException(org.apache.flink.util.ConfigurationException) UnknownHostException(java.net.UnknownHostException)

Example 2 with CuratorFramework

use of org.apache.flink.shaded.curator.org.apache.curator.framework.CuratorFramework in project Taier by DTStack.

the class HighAvailabilityServicesUtils method createClientHAService.

public static ClientHighAvailabilityServices createClientHAService(Configuration configuration) throws Exception {
    HighAvailabilityMode highAvailabilityMode = HighAvailabilityMode.fromConfig(configuration);
    switch(highAvailabilityMode) {
        case NONE:
            final String webMonitorAddress = getWebMonitorAddress(configuration, AddressResolution.TRY_ADDRESS_RESOLUTION);
            return new StandaloneClientHAServices(webMonitorAddress);
        case ZOOKEEPER:
            boolean appendJaasEnable = configuration.getBoolean(ConfigConstrant.ZOOKEEPER_CLIENT_APPEND_JAAS_ENABLE, false);
            if (appendJaasEnable) {
                String zookeeperContestName = configuration.get(SecurityOptions.ZOOKEEPER_SASL_LOGIN_CONTEXT_NAME);
                String keytabPath = configuration.get(SecurityOptions.KERBEROS_LOGIN_KEYTAB);
                String principal = configuration.get(SecurityOptions.KERBEROS_LOGIN_PRINCIPAL);
                synchronized (lock) {
                    javax.security.auth.login.Configuration priorConfig = javax.security.auth.login.Configuration.getConfiguration();
                    // construct a dynamic JAAS configuration
                    DynamicConfiguration currentConfig = new DynamicConfiguration(priorConfig);
                    // wire up the configured JAAS login contexts to use the krb5 entries
                    AppConfigurationEntry krb5Entry = KerberosUtils.keytabEntry(keytabPath, principal);
                    currentConfig.addAppConfigurationEntry(zookeeperContestName, krb5Entry);
                    javax.security.auth.login.Configuration.setConfiguration(currentConfig);
                }
            }
            final CuratorFramework client = ZooKeeperUtils.startCuratorFramework(configuration);
            return new ZooKeeperClientHAServices(client, configuration);
        case FACTORY_CLASS:
            return createCustomClientHAServices(configuration);
        default:
            throw new Exception("Recovery mode " + highAvailabilityMode + " is not supported.");
    }
}
Also used : AppConfigurationEntry(javax.security.auth.login.AppConfigurationEntry) CuratorFramework(org.apache.flink.shaded.curator.org.apache.curator.framework.CuratorFramework) ZooKeeperClientHAServices(org.apache.flink.runtime.highavailability.zookeeper.ZooKeeperClientHAServices) HighAvailabilityMode(org.apache.flink.runtime.jobmanager.HighAvailabilityMode) DynamicConfiguration(org.apache.flink.runtime.security.DynamicConfiguration) StandaloneClientHAServices(org.apache.flink.runtime.highavailability.nonha.standalone.StandaloneClientHAServices) FlinkException(org.apache.flink.util.FlinkException) ConfigurationException(org.apache.flink.util.ConfigurationException) UnknownHostException(java.net.UnknownHostException)

Aggregations

UnknownHostException (java.net.UnknownHostException)2 HighAvailabilityMode (org.apache.flink.runtime.jobmanager.HighAvailabilityMode)2 CuratorFramework (org.apache.flink.shaded.curator.org.apache.curator.framework.CuratorFramework)2 ConfigurationException (org.apache.flink.util.ConfigurationException)2 FlinkException (org.apache.flink.util.FlinkException)2 AppConfigurationEntry (javax.security.auth.login.AppConfigurationEntry)1 BlobStoreService (org.apache.flink.runtime.blob.BlobStoreService)1 EmbeddedHaServices (org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedHaServices)1 StandaloneClientHAServices (org.apache.flink.runtime.highavailability.nonha.standalone.StandaloneClientHAServices)1 ZooKeeperClientHAServices (org.apache.flink.runtime.highavailability.zookeeper.ZooKeeperClientHAServices)1 ZooKeeperHaServices (org.apache.flink.runtime.highavailability.zookeeper.ZooKeeperHaServices)1 DynamicConfiguration (org.apache.flink.runtime.security.DynamicConfiguration)1