コード例 #1
0
        /// <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());
            }
        }
コード例 #2
0
        /// <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());
        }
コード例 #3
0
ファイル: ZKFCRpcServer.cs プロジェクト: orf53975/hadoop.net
        /// <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);
            }
        }
コード例 #4
0
ファイル: HSAdminServer.cs プロジェクト: orf53975/hadoop.net
        /// <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));
        }