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.");
}
}
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.");
}
}
Aggregations