Java 类org.apache.hadoop.hbase.security.HBaseSaslRpcServer 实例源码

项目:ditb    文件:RpcServer.java   
private UserGroupInformation getAuthorizedUgi(String authorizedId)
    throws IOException {
  UserGroupInformation authorizedUgi;
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    authorizedUgi = tokenId.getUser();
    if (authorizedUgi == null) {
      throw new AccessDeniedException(
          "Can't retrieve username from tokenIdentifier.");
    }
    authorizedUgi.addTokenIdentifier(tokenId);
  } else {
    authorizedUgi = UserGroupInformation.createRemoteUser(authorizedId);
  }
  authorizedUgi.setAuthenticationMethod(authMethod.authenticationMethod.getAuthMethod());
  return authorizedUgi;
}
项目:pbase    文件:RpcServer.java   
private UserGroupInformation getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessDeniedException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return ugi;
  } else {
    return UserGroupInformation.createRemoteUser(authorizedId);
  }
}
项目:HIndex    文件:RpcServer.java   
private UserGroupInformation getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return ugi;
  } else {
    return UserGroupInformation.createRemoteUser(authorizedId);
  }
}
项目:IRIndex    文件:SecureServer.java   
private User getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return userProvider.create(ugi);
  } else {
    return userProvider.create(UserGroupInformation.createRemoteUser(authorizedId));
  }
}
项目:IRIndex    文件:SecureServer.java   
/** Constructs a server listening on the named port and address.  Parameters passed must
 * be of the named class.  The <code>handlerCount</handlerCount> determines
 * the number of handler threads that will be used to process calls.
 *
 */
@SuppressWarnings("unchecked")
protected SecureServer(String bindAddress, int port,
                Class<? extends Writable> paramClass, int handlerCount,
                int priorityHandlerCount, Configuration conf, String serverName,
                int highPriorityLevel)
  throws IOException {
  super(bindAddress, port, paramClass, handlerCount, priorityHandlerCount,
      conf, serverName, highPriorityLevel);
  this.authorize =
    conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.userProvider = UserProvider.instantiate(this.conf);
  this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();

  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
}
项目:hbase    文件:ServerRpcConnection.java   
private UserGroupInformation getAuthorizedUgi(String authorizedId)
    throws IOException {
  UserGroupInformation authorizedUgi;
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        this.rpcServer.secretManager);
    authorizedUgi = tokenId.getUser();
    if (authorizedUgi == null) {
      throw new AccessDeniedException(
          "Can't retrieve username from tokenIdentifier.");
    }
    authorizedUgi.addTokenIdentifier(tokenId);
  } else {
    authorizedUgi = UserGroupInformation.createRemoteUser(authorizedId);
  }
  authorizedUgi.setAuthenticationMethod(authMethod.authenticationMethod.getAuthMethod());
  return authorizedUgi;
}
项目:PyroDB    文件:RpcServer.java   
private UserGroupInformation getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return ugi;
  } else {
    return UserGroupInformation.createRemoteUser(authorizedId);
  }
}
项目:c5    文件:RpcServer.java   
private UserGroupInformation getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return ugi;
  } else {
    return UserGroupInformation.createRemoteUser(authorizedId);
  }
}
项目:HBase-Research    文件:SecureServer.java   
private User getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return User.create(ugi);
  } else {
    return User.create(UserGroupInformation.createRemoteUser(authorizedId));
  }
}
项目:HBase-Research    文件:SecureServer.java   
/** Constructs a server listening on the named port and address.  Parameters passed must
 * be of the named class.  The <code>handlerCount</handlerCount> determines
 * the number of handler threads that will be used to process calls.
 *
 */
@SuppressWarnings("unchecked")
protected SecureServer(String bindAddress, int port,
                Class<? extends Writable> paramClass, int handlerCount,
                int priorityHandlerCount, Configuration conf, String serverName,
                int highPriorityLevel)
  throws IOException {
  super(bindAddress, port, paramClass, handlerCount, priorityHandlerCount,
      conf, serverName, highPriorityLevel);
  this.authorize =
    conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.isSecurityEnabled = User.isHBaseSecurityEnabled(this.conf);

  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
}
项目:hbase-0.94.8-qod    文件:SecureServer.java   
private User getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return User.create(ugi);
  } else {
    return User.create(UserGroupInformation.createRemoteUser(authorizedId));
  }
}
项目:hbase-0.94.8-qod    文件:SecureServer.java   
/** Constructs a server listening on the named port and address.  Parameters passed must
 * be of the named class.  The <code>handlerCount</handlerCount> determines
 * the number of handler threads that will be used to process calls.
 *
 */
@SuppressWarnings("unchecked")
protected SecureServer(String bindAddress, int port,
                Class<? extends Writable> paramClass, int handlerCount,
                int priorityHandlerCount, Configuration conf, String serverName,
                int highPriorityLevel)
  throws IOException {
  super(bindAddress, port, paramClass, handlerCount, priorityHandlerCount,
      conf, serverName, highPriorityLevel);
  this.authorize =
    conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.isSecurityEnabled = User.isHBaseSecurityEnabled(this.conf);

  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
}
项目:hbase-0.94.8-qod    文件:SecureServer.java   
private User getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return User.create(ugi);
  } else {
    return User.create(UserGroupInformation.createRemoteUser(authorizedId));
  }
}
项目:hbase-0.94.8-qod    文件:SecureServer.java   
/** Constructs a server listening on the named port and address.  Parameters passed must
 * be of the named class.  The <code>handlerCount</handlerCount> determines
 * the number of handler threads that will be used to process calls.
 *
 */
@SuppressWarnings("unchecked")
protected SecureServer(String bindAddress, int port,
                Class<? extends Writable> paramClass, int handlerCount,
                int priorityHandlerCount, Configuration conf, String serverName,
                int highPriorityLevel)
  throws IOException {
  super(bindAddress, port, paramClass, handlerCount, priorityHandlerCount,
      conf, serverName, highPriorityLevel);
  this.authorize =
    conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.isSecurityEnabled = User.isHBaseSecurityEnabled(this.conf);

  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
}
项目:DominoHBase    文件:HBaseServer.java   
private UserGroupInformation getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return ugi;
  } else {
    return UserGroupInformation.createRemoteUser(authorizedId);
  }
}
项目:hindex    文件:SecureServer.java   
private User getAuthorizedUgi(String authorizedId)
    throws IOException {
  if (authMethod == AuthMethod.DIGEST) {
    TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,
        secretManager);
    UserGroupInformation ugi = tokenId.getUser();
    if (ugi == null) {
      throw new AccessControlException(
          "Can't retrieve username from tokenIdentifier.");
    }
    ugi.addTokenIdentifier(tokenId);
    return User.create(ugi);
  } else {
    return User.create(UserGroupInformation.createRemoteUser(authorizedId));
  }
}
项目:hindex    文件:SecureServer.java   
/** Constructs a server listening on the named port and address.  Parameters passed must
 * be of the named class.  The <code>handlerCount</handlerCount> determines
 * the number of handler threads that will be used to process calls.
 *
 */
@SuppressWarnings("unchecked")
protected SecureServer(String bindAddress, int port,
                Class<? extends Writable> paramClass, int handlerCount,
                int priorityHandlerCount, Configuration conf, String serverName,
                int highPriorityLevel)
  throws IOException {
  super(bindAddress, port, paramClass, handlerCount, priorityHandlerCount,
      conf, serverName, highPriorityLevel);
  this.authorize =
    conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.isSecurityEnabled = User.isHBaseSecurityEnabled(this.conf);

  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
}
项目:IRIndex    文件:SecureRpcEngine.java   
@Override
public void setConf(Configuration config) {
  this.conf = config;
  this.provider = UserProvider.instantiate(config);
  if (provider.isHBaseSecurityEnabled()) {
    HBaseSaslRpcServer.init(conf);
  }
  // check for an already created client
  if (this.client != null) {
    this.client.stop();
  }
  this.client = new SecureClient(HbaseObjectWritable.class, conf, provider);
}
项目:HBase-Research    文件:SecureRpcEngine.java   
@Override
public void setConf(Configuration config) {
  this.conf = config;
  if (User.isHBaseSecurityEnabled(conf)) {
    HBaseSaslRpcServer.init(conf);
  }
  // check for an already created client
  if (this.client != null) {
    this.client.stop();
  }
  this.client = new SecureClient(HbaseObjectWritable.class, conf);
}
项目:hbase-0.94.8-qod    文件:SecureRpcEngine.java   
@Override
public void setConf(Configuration config) {
  this.conf = config;
  if (User.isHBaseSecurityEnabled(conf)) {
    HBaseSaslRpcServer.init(conf);
  }
  // check for an already created client
  if (this.client != null) {
    this.client.stop();
  }
  this.client = new SecureClient(HbaseObjectWritable.class, conf);
}
项目:hbase-0.94.8-qod    文件:SecureRpcEngine.java   
@Override
public void setConf(Configuration config) {
  this.conf = config;
  if (User.isHBaseSecurityEnabled(conf)) {
    HBaseSaslRpcServer.init(conf);
  }
  // check for an already created client
  if (this.client != null) {
    this.client.stop();
  }
  this.client = new SecureClient(HbaseObjectWritable.class, conf);
}
项目:hindex    文件:SecureRpcEngine.java   
@Override
public void setConf(Configuration config) {
  this.conf = config;
  if (User.isHBaseSecurityEnabled(conf)) {
    HBaseSaslRpcServer.init(conf);
  }
  // check for an already created client
  if (this.client != null) {
    this.client.stop();
  }
  this.client = new SecureClient(HbaseObjectWritable.class, conf);
}
项目:ditb    文件:RpcServer.java   
/**
 * Constructs a server listening on the named port and address.
 * @param server hosting instance of {@link Server}. We will do authentications if an
 * instance else pass null for no authentication check.
 * @param name Used keying this rpc servers' metrics and for naming the Listener thread.
 * @param services A list of services.
 * @param bindAddress Where to listen
 * @param conf
 * @param scheduler
 */
public RpcServer(final Server server, final String name,
    final List<BlockingServiceAndInterface> services,
    final InetSocketAddress bindAddress, Configuration conf,
    RpcScheduler scheduler)
    throws IOException {

  if (conf.getBoolean("hbase.ipc.server.reservoir.enabled", true)) {
    this.reservoir = new BoundedByteBufferPool(
        conf.getInt("hbase.ipc.server.reservoir.max.buffer.size", 1024 * 1024),
        conf.getInt("hbase.ipc.server.reservoir.initial.buffer.size", 16 * 1024),
        // Make the max twice the number of handlers to be safe.
        conf.getInt("hbase.ipc.server.reservoir.initial.max",
            conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,
                HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT) * 2));
  } else {
    reservoir = null;
  }

  this.server = server;
  this.services = services;
  this.bindAddress = bindAddress;
  this.conf = conf;
  this.socketSendBufferSize = 0;
  this.maxQueueSize =
    this.conf.getInt("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);
  this.readThreads = conf.getInt("hbase.ipc.server.read.threadpool.size", 10);
  this.maxIdleTime = 2 * conf.getInt("hbase.ipc.client.connection.maxidletime", 1000);
  this.maxConnectionsToNuke = conf.getInt("hbase.ipc.client.kill.max", 10);
  this.thresholdIdleConnections = conf.getInt("hbase.ipc.client.idlethreshold", 4000);
  this.purgeTimeout = conf.getLong("hbase.ipc.client.call.purge.timeout",
    2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);
  this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);
  this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);

  // Start the listener here and let it bind to the port
  listener = new Listener(name);
  this.port = listener.getAddress().getPort();

  this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));
  this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);
  this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);

  this.ipcUtil = new IPCUtil(conf);


  // Create the responder here
  responder = new Responder();
  this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.userProvider = UserProvider.instantiate(conf);
  this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();
  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
  initReconfigurable(conf);

  this.scheduler = scheduler;
  this.scheduler.init(new RpcSchedulerContext(this));
}
项目:pbase    文件:RpcServer.java   
/**
 * Constructs a server listening on the named port and address.
 * @param server hosting instance of {@link Server}. We will do authentications if an
 * instance else pass null for no authentication check.
 * @param name Used keying this rpc servers' metrics and for naming the Listener thread.
 * @param services A list of services.
 * @param bindAddress Where to listen
 * @param conf
 * @param scheduler
 */
public RpcServer(final Server server, final String name,
    final List<BlockingServiceAndInterface> services,
    final InetSocketAddress bindAddress, Configuration conf,
    RpcScheduler scheduler)
    throws IOException {

  this.server = server;
  this.services = services;
  this.bindAddress = bindAddress;
  this.conf = conf;
  this.socketSendBufferSize = 0;
  this.maxQueueSize =
    this.conf.getInt("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);
  this.readThreads = conf.getInt("hbase.ipc.server.read.threadpool.size", 10);
  this.maxIdleTime = 2 * conf.getInt("hbase.ipc.client.connection.maxidletime", 1000);
  this.maxConnectionsToNuke = conf.getInt("hbase.ipc.client.kill.max", 10);
  this.thresholdIdleConnections = conf.getInt("hbase.ipc.client.idlethreshold", 4000);
  this.purgeTimeout = conf.getLong("hbase.ipc.client.call.purge.timeout",
    2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);
  this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);
  this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);

  // Start the listener here and let it bind to the port
  listener = new Listener(name);
  this.port = listener.getAddress().getPort();

  this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));
  this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);
  this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);

  this.warnDelayedCalls = conf.getInt(WARN_DELAYED_CALLS, DEFAULT_WARN_DELAYED_CALLS);
  this.delayedCalls = new AtomicInteger(0);
  this.ipcUtil = new IPCUtil(conf);


  // Create the responder here
  responder = new Responder();
  this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.userProvider = UserProvider.instantiate(conf);
  this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();
  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
  this.scheduler = scheduler;
  this.scheduler.init(new RpcSchedulerContext(this));
}
项目:HIndex    文件:RpcServer.java   
/**
 * Constructs a server listening on the named port and address.
 * @param serverInstance hosting instance of {@link Server}. We will do authentications if an
 * instance else pass null for no authentication check.
 * @param name Used keying this rpc servers' metrics and for naming the Listener thread.
 * @param services A list of services.
 * @param isa Where to listen
 * @param conf
 * @throws IOException
 */
public RpcServer(final Server serverInstance, final String name,
    final List<BlockingServiceAndInterface> services,
    final InetSocketAddress isa, Configuration conf,
    RpcScheduler scheduler)
throws IOException {
  this.serverInstance = serverInstance;
  this.services = services;
  this.isa = isa;
  this.conf = conf;
  this.socketSendBufferSize = 0;
  this.maxQueueSize =
    this.conf.getInt("ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);
  this.readThreads = conf.getInt("ipc.server.read.threadpool.size", 10);
  this.maxIdleTime = 2*conf.getInt("ipc.client.connection.maxidletime", 1000);
  this.maxConnectionsToNuke = conf.getInt("ipc.client.kill.max", 10);
  this.thresholdIdleConnections = conf.getInt("ipc.client.idlethreshold", 4000);
  this.purgeTimeout = conf.getLong("ipc.client.call.purge.timeout",
    2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);
  this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);
  this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);

  // Start the listener here and let it bind to the port
  listener = new Listener(name);
  this.port = listener.getAddress().getPort();

  this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));
  this.tcpNoDelay = conf.getBoolean("ipc.server.tcpnodelay", true);
  this.tcpKeepAlive = conf.getBoolean("ipc.server.tcpkeepalive", true);

  this.warnDelayedCalls = conf.getInt(WARN_DELAYED_CALLS, DEFAULT_WARN_DELAYED_CALLS);
  this.delayedCalls = new AtomicInteger(0);
  this.ipcUtil = new IPCUtil(conf);


  // Create the responder here
  responder = new Responder();
  this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.userProvider = UserProvider.instantiate(conf);
  this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();
  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
  this.scheduler = scheduler;
  this.scheduler.init(new RpcSchedulerContext(this));
}
项目:PyroDB    文件:RpcServer.java   
/**
 * Constructs a server listening on the named port and address.
 * @param server hosting instance of {@link Server}. We will do authentications if an
 * instance else pass null for no authentication check.
 * @param name Used keying this rpc servers' metrics and for naming the Listener thread.
 * @param services A list of services.
 * @param isa Where to listen
 * @param conf
 * @throws IOException
 */
public RpcServer(final Server server, final String name,
    final List<BlockingServiceAndInterface> services,
    final InetSocketAddress isa, Configuration conf,
    RpcScheduler scheduler)
throws IOException {
  this.server = server;
  this.services = services;
  this.isa = isa;
  this.conf = conf;
  this.socketSendBufferSize = 0;
  this.maxQueueSize =
    this.conf.getInt("ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);
  this.readThreads = conf.getInt("ipc.server.read.threadpool.size", 10);
  this.maxIdleTime = 2*conf.getInt("ipc.client.connection.maxidletime", 1000);
  this.maxConnectionsToNuke = conf.getInt("ipc.client.kill.max", 10);
  this.thresholdIdleConnections = conf.getInt("ipc.client.idlethreshold", 4000);
  this.purgeTimeout = conf.getLong("ipc.client.call.purge.timeout",
    2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);
  this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);
  this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);

  // Start the listener here and let it bind to the port
  listener = new Listener(name);
  this.port = listener.getAddress().getPort();

  this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));
  this.tcpNoDelay = conf.getBoolean("ipc.server.tcpnodelay", true);
  this.tcpKeepAlive = conf.getBoolean("ipc.server.tcpkeepalive", true);

  this.warnDelayedCalls = conf.getInt(WARN_DELAYED_CALLS, DEFAULT_WARN_DELAYED_CALLS);
  this.delayedCalls = new AtomicInteger(0);
  this.ipcUtil = new IPCUtil(conf);


  // Create the responder here
  responder = new Responder();
  this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.userProvider = UserProvider.instantiate(conf);
  this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();
  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
  this.scheduler = scheduler;
  this.scheduler.init(new RpcSchedulerContext(this));
}
项目:c5    文件:RpcServer.java   
/**
 * Constructs a server listening on the named port and address.
 * @param serverInstance hosting instance of {@link Server}. We will do authentications if an
 * instance else pass null for no authentication check.
 * @param name Used keying this rpc servers' metrics and for naming the Listener thread.
 * @param services A list of services.
 * @param isa Where to listen
 * @param handlerCount the number of handler threads that will be used to process calls
 * @param priorityHandlerCount How many threads for priority handling.
 * @param conf
 * @param highPriorityLevel
 * @throws IOException
 */
public RpcServer(final Server serverInstance, final String name,
    final List<BlockingServiceAndInterface> services,
    final InetSocketAddress isa, int handlerCount, int priorityHandlerCount, Configuration conf,
    int highPriorityLevel)
throws IOException {
  this.serverInstance = serverInstance;
  this.services = services;
  this.isa = isa;
  this.conf = conf;
  this.handlerCount = handlerCount;
  this.priorityHandlerCount = priorityHandlerCount;
  this.socketSendBufferSize = 0;
  this.maxQueueLength = this.conf.getInt("ipc.server.max.callqueue.length",
    handlerCount * DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER);
  this.maxQueueSize =
    this.conf.getInt("ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);
  this.readThreads = conf.getInt("ipc.server.read.threadpool.size", 10);
  this.callQueue  = new LinkedBlockingQueue<Call>(maxQueueLength);
  if (priorityHandlerCount > 0) {
    this.priorityCallQueue = new LinkedBlockingQueue<Call>(maxQueueLength); // TODO hack on size
  } else {
    this.priorityCallQueue = null;
  }
  this.highPriorityLevel = highPriorityLevel;
  this.maxIdleTime = 2*conf.getInt("ipc.client.connection.maxidletime", 1000);
  this.maxConnectionsToNuke = conf.getInt("ipc.client.kill.max", 10);
  this.thresholdIdleConnections = conf.getInt("ipc.client.idlethreshold", 4000);
  this.purgeTimeout = conf.getLong("ipc.client.call.purge.timeout",
    2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);
  this.numOfReplicationHandlers = conf.getInt("hbase.regionserver.replication.handler.count", 3);
  if (numOfReplicationHandlers > 0) {
    this.replicationQueue = new LinkedBlockingQueue<Call>(maxQueueLength);
  }

  this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);
  this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);

  // Start the listener here and let it bind to the port
  listener = new Listener(name);
  this.port = listener.getAddress().getPort();

  this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));
  this.tcpNoDelay = conf.getBoolean("ipc.server.tcpnodelay", true);
  this.tcpKeepAlive = conf.getBoolean("ipc.server.tcpkeepalive", true);

  this.warnDelayedCalls = conf.getInt(WARN_DELAYED_CALLS, DEFAULT_WARN_DELAYED_CALLS);
  this.delayedCalls = new AtomicInteger(0);
  this.ipcUtil = new IPCUtil(conf);


  // Create the responder here
  responder = new Responder();
  this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.userProvider = UserProvider.instantiate(conf);
  this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();
  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
}
项目:DominoHBase    文件:HBaseServer.java   
protected HBaseServer(String bindAddress, int port,
                      int handlerCount,
                      int priorityHandlerCount, Configuration conf, String serverName,
                      int highPriorityLevel)
  throws IOException {
  this.bindAddress = bindAddress;
  this.conf = conf;
  this.port = port;
  this.handlerCount = handlerCount;
  this.priorityHandlerCount = priorityHandlerCount;
  this.socketSendBufferSize = 0;
  this.maxQueueLength =
    this.conf.getInt("ipc.server.max.callqueue.length",
      handlerCount * DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER);
  this.maxQueueSize =
    this.conf.getInt("ipc.server.max.callqueue.size",
      DEFAULT_MAX_CALLQUEUE_SIZE);
   this.readThreads = conf.getInt(
      "ipc.server.read.threadpool.size",
      10);
  this.callQueue  = new LinkedBlockingQueue<Call>(maxQueueLength);
  if (priorityHandlerCount > 0) {
    this.priorityCallQueue = new LinkedBlockingQueue<Call>(maxQueueLength); // TODO hack on size
  } else {
    this.priorityCallQueue = null;
  }
  this.highPriorityLevel = highPriorityLevel;
  this.maxIdleTime = 2*conf.getInt("ipc.client.connection.maxidletime", 1000);
  this.maxConnectionsToNuke = conf.getInt("ipc.client.kill.max", 10);
  this.thresholdIdleConnections = conf.getInt("ipc.client.idlethreshold", 4000);
  this.purgeTimeout = conf.getLong("ipc.client.call.purge.timeout",
                                   2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);
  this.numOfReplicationHandlers = conf.getInt("hbase.regionserver.replication.handler.count", 3);
  if (numOfReplicationHandlers > 0) {
    this.replicationQueue = new LinkedBlockingQueue<Call>(maxQueueSize);
  }
  // Start the listener here and let it bind to the port
  listener = new Listener();
  this.port = listener.getAddress().getPort();

  this.metrics = new MetricsHBaseServer(
      serverName, new MetricsHBaseServerWrapperImpl(this));
  this.tcpNoDelay = conf.getBoolean("ipc.server.tcpnodelay", true);
  this.tcpKeepAlive = conf.getBoolean("ipc.server.tcpkeepalive", true);

  this.warnDelayedCalls = conf.getInt(WARN_DELAYED_CALLS,
                                      DEFAULT_WARN_DELAYED_CALLS);
  this.delayedCalls = new AtomicInteger(0);


  // Create the responder here
  responder = new Responder();
  this.authorize =
      conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);
  this.isSecurityEnabled = User.isHBaseSecurityEnabled(this.conf);
  if (isSecurityEnabled) {
    HBaseSaslRpcServer.init(conf);
  }
}