/// <exception cref="System.IO.IOException"/> internal JournalNodeRpcServer(Configuration conf, JournalNode jn) { this.jn = jn; Configuration confCopy = new Configuration(conf); // Ensure that nagling doesn't kick in, which could cause latency issues. confCopy.SetBoolean(CommonConfigurationKeysPublic.IpcServerTcpnodelayKey, true); IPEndPoint addr = GetAddress(confCopy); RPC.SetProtocolEngine(confCopy, typeof(QJournalProtocolPB), typeof(ProtobufRpcEngine )); QJournalProtocolServerSideTranslatorPB translator = new QJournalProtocolServerSideTranslatorPB (this); BlockingService service = QJournalProtocolProtos.QJournalProtocolService.NewReflectiveBlockingService (translator); this.server = new RPC.Builder(confCopy).SetProtocol(typeof(QJournalProtocolPB)).SetInstance (service).SetBindAddress(addr.GetHostName()).SetPort(addr.Port).SetNumHandlers(HandlerCount ).SetVerbose(false).Build(); // set service-level authorization security policy if (confCopy.GetBoolean(CommonConfigurationKeys.HadoopSecurityAuthorization, false )) { server.RefreshServiceAcl(confCopy, new HDFSPolicyProvider()); } }
/// <exception cref="System.Exception"/> protected internal virtual void StartServer() { Configuration conf = GetConfig(); YarnRPC rpc = YarnRPC.Create(conf); this.server = (RPC.Server)rpc.GetServer(typeof(ResourceManagerAdministrationProtocol ), this, masterServiceBindAddress, conf, null, conf.GetInt(YarnConfiguration.RmAdminClientThreadCount , YarnConfiguration.DefaultRmAdminClientThreadCount)); // Enable service authorization? if (conf.GetBoolean(CommonConfigurationKeysPublic.HadoopSecurityAuthorization, false )) { RefreshServiceAcls(GetConfiguration(conf, YarnConfiguration.HadoopPolicyConfigurationFile ), RMPolicyProvider.GetInstance()); } if (rmContext.IsHAEnabled()) { RPC.SetProtocolEngine(conf, typeof(HAServiceProtocolPB), typeof(ProtobufRpcEngine )); HAServiceProtocolServerSideTranslatorPB haServiceProtocolXlator = new HAServiceProtocolServerSideTranslatorPB (this); BlockingService haPbService = HAServiceProtocolProtos.HAServiceProtocolService.NewReflectiveBlockingService (haServiceProtocolXlator); server.AddProtocol(RPC.RpcKind.RpcProtocolBuffer, typeof(HAServiceProtocol), haPbService ); } this.server.Start(); conf.UpdateConnectAddr(YarnConfiguration.RmBindHost, YarnConfiguration.RmAdminAddress , YarnConfiguration.DefaultRmAdminAddress, server.GetListenerAddress()); }
/// <exception cref="System.IO.IOException"/> internal ZKFCRpcServer(Configuration conf, IPEndPoint bindAddr, ZKFailoverController zkfc, PolicyProvider policy) { this.zkfc = zkfc; RPC.SetProtocolEngine(conf, typeof(ZKFCProtocolPB), typeof(ProtobufRpcEngine)); ZKFCProtocolServerSideTranslatorPB translator = new ZKFCProtocolServerSideTranslatorPB (this); BlockingService service = ZKFCProtocolProtos.ZKFCProtocolService.NewReflectiveBlockingService (translator); this.server = new RPC.Builder(conf).SetProtocol(typeof(ZKFCProtocolPB)).SetInstance (service).SetBindAddress(bindAddr.GetHostName()).SetPort(bindAddr.Port).SetNumHandlers (HandlerCount).SetVerbose(false).Build(); // set service-level authorization security policy if (conf.GetBoolean(CommonConfigurationKeys.HadoopSecurityAuthorization, false)) { server.RefreshServiceAcl(conf, policy); } }
/// <exception cref="System.Exception"/> protected override void ServiceInit(Configuration conf) { RPC.SetProtocolEngine(conf, typeof(RefreshUserMappingsProtocolPB), typeof(ProtobufRpcEngine )); RefreshUserMappingsProtocolServerSideTranslatorPB refreshUserMappingXlator = new RefreshUserMappingsProtocolServerSideTranslatorPB(this); BlockingService refreshUserMappingService = RefreshUserMappingsProtocolProtos.RefreshUserMappingsProtocolService .NewReflectiveBlockingService(refreshUserMappingXlator); GetUserMappingsProtocolServerSideTranslatorPB getUserMappingXlator = new GetUserMappingsProtocolServerSideTranslatorPB (this); BlockingService getUserMappingService = GetUserMappingsProtocolProtos.GetUserMappingsProtocolService .NewReflectiveBlockingService(getUserMappingXlator); HSAdminRefreshProtocolServerSideTranslatorPB refreshHSAdminProtocolXlator = new HSAdminRefreshProtocolServerSideTranslatorPB (this); BlockingService refreshHSAdminProtocolService = HSAdminRefreshProtocolProtos.HSAdminRefreshProtocolService .NewReflectiveBlockingService(refreshHSAdminProtocolXlator); WritableRpcEngine.EnsureInitialized(); clientRpcAddress = conf.GetSocketAddr(JHAdminConfig.MrHistoryBindHost, JHAdminConfig .JhsAdminAddress, JHAdminConfig.DefaultJhsAdminAddress, JHAdminConfig.DefaultJhsAdminPort ); clientRpcServer = new RPC.Builder(conf).SetProtocol(typeof(RefreshUserMappingsProtocolPB )).SetInstance(refreshUserMappingService).SetBindAddress(clientRpcAddress.GetHostName ()).SetPort(clientRpcAddress.Port).SetVerbose(false).Build(); AddProtocol(conf, typeof(GetUserMappingsProtocolPB), getUserMappingService); AddProtocol(conf, typeof(HSAdminRefreshProtocolPB), refreshHSAdminProtocolService ); // Enable service authorization? if (conf.GetBoolean(CommonConfigurationKeysPublic.HadoopSecurityAuthorization, false )) { clientRpcServer.RefreshServiceAcl(conf, new ClientHSPolicyProvider()); } adminAcl = new AccessControlList(conf.Get(JHAdminConfig.JhsAdminAcl, JHAdminConfig .DefaultJhsAdminAcl)); }