use of io.pravega.controller.server.ControllerServiceMain in project pravega by pravega.
the class InProcPravegaCluster method close.
@Override
@Synchronized
public void close() throws Exception {
if (isInProcSegmentStore) {
for (ServiceStarter starter : this.nodeServiceStarter) {
starter.shutdown();
}
}
if (isInProcController) {
for (ControllerServiceMain controller : this.controllerServers) {
controller.stopAsync();
}
}
if (this.zkService != null) {
this.zkService.close();
this.zkService = null;
}
}
use of io.pravega.controller.server.ControllerServiceMain in project pravega by pravega.
the class InProcPravegaCluster method startLocalController.
private ControllerServiceMain startLocalController(int controllerId) {
ZKClientConfig zkClientConfig = ZKClientConfigImpl.builder().connectionString(zkUrl).namespace("pravega/" + clusterName).initialSleepInterval(2000).maxRetries(1).sessionTimeoutMs(10 * 1000).build();
StoreClientConfig storeClientConfig = StoreClientConfigImpl.withZKClient(zkClientConfig);
HostMonitorConfig hostMonitorConfig = HostMonitorConfigImpl.builder().hostMonitorEnabled(true).hostMonitorMinRebalanceInterval(Config.CLUSTER_MIN_REBALANCE_INTERVAL).containerCount(Config.HOST_STORE_CONTAINER_COUNT).build();
TimeoutServiceConfig timeoutServiceConfig = TimeoutServiceConfig.builder().maxLeaseValue(Config.MAX_LEASE_VALUE).maxScaleGracePeriod(Config.MAX_SCALE_GRACE_PERIOD).build();
ControllerEventProcessorConfig eventProcessorConfig = ControllerEventProcessorConfigImpl.withDefault();
GRPCServerConfig grpcServerConfig = GRPCServerConfigImpl.builder().port(this.controllerPorts[controllerId]).publishedRPCHost("localhost").publishedRPCPort(this.controllerPorts[controllerId]).authorizationEnabled(this.enableAuth).tlsEnabled(this.enableTls).tlsTrustStore("../config/cert.pem").tlsCertFile("../config/cert.pem").tlsKeyFile("../config/key.pem").userPasswordFile("../config/passwd").tokenSigningKey("secret").build();
RESTServerConfig restServerConfig = RESTServerConfigImpl.builder().host("0.0.0.0").port(this.restServerPort).build();
ControllerServiceConfig serviceConfig = ControllerServiceConfigImpl.builder().threadPoolSize(Config.ASYNC_TASK_POOL_SIZE).storeClientConfig(storeClientConfig).hostMonitorConfig(hostMonitorConfig).controllerClusterListenerEnabled(false).timeoutServiceConfig(timeoutServiceConfig).eventProcessorConfig(Optional.of(eventProcessorConfig)).grpcServerConfig(Optional.of(grpcServerConfig)).restServerConfig(Optional.of(restServerConfig)).build();
ControllerServiceMain controllerService = new ControllerServiceMain(serviceConfig);
controllerService.startAsync();
return controllerService;
}
Aggregations