Java 类org.apache.hadoop.hbase.http.InfoServer 实例源码

项目:ditb    文件:ThriftServer.java   
/**
 * Start up or shuts down the Thrift server, depending on the arguments.
 * @param args
 */
 void doMain(final String[] args) throws Exception {
   processOptions(args);

   serverRunner = new ThriftServerRunner(conf);

   // Put up info server.
   int port = conf.getInt("hbase.thrift.info.port", 9095);
   if (port >= 0) {
     conf.setLong("startcode", System.currentTimeMillis());
     String a = conf.get("hbase.thrift.info.bindAddress", "0.0.0.0");
     infoServer = new InfoServer("thrift", a, port, false, conf);
     infoServer.setAttribute("hbase.conf", conf);
     infoServer.start();
   }
   serverRunner.run();
}
项目:hbase    文件:ThriftServer.java   
/**
 * Start up or shuts down the Thrift server, depending on the arguments.
 * @param args the arguments to pass in when starting the Thrift server
 */
void doMain(final String[] args) throws Exception {
  processOptions(args);
  serverRunner = new ThriftServerRunner(conf);

  // Put up info server.
  int port = conf.getInt("hbase.thrift.info.port", 9095);

  if (port >= 0) {
    conf.setLong("startcode", System.currentTimeMillis());
    String a = conf.get("hbase.thrift.info.bindAddress", "0.0.0.0");
    infoServer = new InfoServer("thrift", a, port, false, conf);
    infoServer.setAttribute("hbase.conf", conf);
    infoServer.start();
  }

  serverRunner.run();
}
项目:hbase    文件:ThriftServer.java   
private void startInfoServer(Configuration conf) throws IOException {
  int port = conf.getInt("hbase.thrift.info.port", 9095);

  if (port >= 0) {
    conf.setLong("startcode", System.currentTimeMillis());
    String a = conf.get("hbase.thrift.info.bindAddress", "0.0.0.0");
    InfoServer infoServer = new InfoServer("thrift", a, port, false, conf);
    infoServer.setAttribute("hbase.conf", conf);
    infoServer.start();
  }
}
项目:ditb    文件:HRegionServer.java   
/**
 * Puts up the webui.
 *
 * @return Returns final port -- maybe different from what we started with.
 * @throws IOException
 */
private int putUpWebUI() throws IOException {
  int port = this.conf
      .getInt(HConstants.REGIONSERVER_INFO_PORT, HConstants.DEFAULT_REGIONSERVER_INFOPORT);
  String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");

  if (this instanceof HMaster) {
    port = conf.getInt(HConstants.MASTER_INFO_PORT, HConstants.DEFAULT_MASTER_INFOPORT);
    addr = this.conf.get("hbase.master.info.bindAddress", "0.0.0.0");
  }
  // -1 is for disabling info server
  if (port < 0) return port;

  if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {
    String msg = "Failed to start http info server. Address " + addr
        + " does not belong to this host. Correct configuration parameter: "
        + "hbase.regionserver.info.bindAddress";
    LOG.error(msg);
    throw new IOException(msg);
  }
  // check if auto port bind enabled
  boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO, false);
  while (true) {
    try {
      this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);
      infoServer.addServlet("dump", "/dump", getDumpServlet());
      configureInfoServer();
      this.infoServer.start();
      break;
    } catch (BindException e) {
      if (!auto) {
        // auto bind disabled throw BindException
        LOG.error("Failed binding http info server to port: " + port);
        throw e;
      }
      // auto bind enabled, try to use another port
      LOG.info("Failed binding http info server to port: " + port);
      port++;
    }
  }
  port = this.infoServer.getPort();
  conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);
  int masterInfoPort =
      conf.getInt(HConstants.MASTER_INFO_PORT, HConstants.DEFAULT_MASTER_INFOPORT);
  conf.setInt("hbase.master.info.port.orig", masterInfoPort);
  conf.setInt(HConstants.MASTER_INFO_PORT, port);
  return port;
}
项目:ditb    文件:HRegionServer.java   
/**
 * @return the info server
 */
public InfoServer getInfoServer() {
  return infoServer;
}
项目:pbase    文件:HRegionServer.java   
/**
 * Puts up the webui.
 *
 * @return Returns final port -- maybe different from what we started with.
 * @throws IOException
 */
private int putUpWebUI() throws IOException {
    int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,
            HConstants.DEFAULT_REGIONSERVER_INFOPORT);
    // -1 is for disabling info server
    if (port < 0) return port;
    String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");
    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {
        String msg =
                "Failed to start http info server. Address " + addr
                        + " does not belong to this host. Correct configuration parameter: "
                        + "hbase.regionserver.info.bindAddress";
        LOG.error(msg);
        throw new IOException(msg);
    }
    // check if auto port bind enabled
    boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO,
            false);
    while (true) {
        try {
            this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);
            infoServer.addServlet("dump", "/dump", getDumpServlet());
            configureInfoServer();
            this.infoServer.start();
            break;
        } catch (BindException e) {
            if (!auto) {
                // auto bind disabled throw BindException
                LOG.error("Failed binding http info server to port: " + port);
                throw e;
            }
            // auto bind enabled, try to use another port
            LOG.info("Failed binding http info server to port: " + port);
            port++;
        }
    }
    port = this.infoServer.getPort();
    conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);
    int masterInfoPort = conf.getInt(HConstants.MASTER_INFO_PORT,
            HConstants.DEFAULT_MASTER_INFOPORT);
    conf.setInt("hbase.master.info.port.orig", masterInfoPort);
    conf.setInt(HConstants.MASTER_INFO_PORT, port);
    return port;
}
项目:pbase    文件:HRegionServer.java   
/**
 * @return the info server
 */
public InfoServer getInfoServer() {
    return infoServer;
}
项目:hadoop-mini-clusters    文件:HbaseRestLocalCluster.java   
@Override
public void start() throws Exception {
    VersionInfo.logVersion();
    Configuration conf = builder.getHbaseConfiguration();

    conf.set("hbase.rest.port", hbaseRestPort.toString());
    conf.set("hbase.rest.readonly", (hbaseRestReadOnly == null) ? "true" : hbaseRestReadOnly.toString());
    conf.set("hbase.rest.info.port", (hbaseRestInfoPort == null) ? "8085" : hbaseRestInfoPort.toString());
    String hbaseRestHost = (this.hbaseRestHost == null) ? "0.0.0.0" : this.hbaseRestHost;

    Integer hbaseRestThreadMax = (this.hbaseRestThreadMax == null) ? 100 : this.hbaseRestThreadMax;
    Integer hbaseRestThreadMin = (this.hbaseRestThreadMin == null) ? 2 : this.hbaseRestThreadMin;

    UserProvider userProvider = UserProvider.instantiate(conf);
    Pair<FilterHolder, Class<? extends ServletContainer>> pair = loginServerPrincipal(userProvider, conf);
    FilterHolder authFilter = pair.getFirst();
    Class<? extends ServletContainer> containerClass = pair.getSecond();
    RESTServlet.getInstance(conf, userProvider);

    // set up the Jersey servlet container for Jetty
    ServletHolder sh = new ServletHolder(containerClass);
    sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", ResourceConfig.class.getCanonicalName());
    sh.setInitParameter("com.sun.jersey.config.property.packages", "jetty");
    ServletHolder shPojoMap = new ServletHolder(containerClass);
    Map<String, String> shInitMap = sh.getInitParameters();
    for (Map.Entry<String, String> e : shInitMap.entrySet()) {
        shPojoMap.setInitParameter(e.getKey(), e.getValue());
    }
    shPojoMap.setInitParameter(JSONConfiguration.FEATURE_POJO_MAPPING, "true");

    // set up Jetty and run the embedded server

    server = new Server();

    Connector connector = new SelectChannelConnector();
    if (conf.getBoolean(RESTServer.REST_SSL_ENABLED, false)) {
        SslSelectChannelConnector sslConnector = new SslSelectChannelConnector();
        String keystore = conf.get(RESTServer.REST_SSL_KEYSTORE_STORE);
        String password = HBaseConfiguration.getPassword(conf, RESTServer.REST_SSL_KEYSTORE_PASSWORD, null);
        String keyPassword = HBaseConfiguration.getPassword(conf, RESTServer.REST_SSL_KEYSTORE_KEYPASSWORD, password);
        sslConnector.setKeystore(keystore);
        sslConnector.setPassword(password);
        sslConnector.setKeyPassword(keyPassword);
        connector = sslConnector;
    }
    connector.setPort(hbaseRestPort);
    connector.setHost(hbaseRestHost);
    connector.setHeaderBufferSize(8192);


    server.addConnector(connector);

    QueuedThreadPool threadPool = new QueuedThreadPool(hbaseRestThreadMax);
    threadPool.setMinThreads(hbaseRestThreadMin);
    server.setThreadPool(threadPool);

    server.setSendServerVersion(false);
    server.setSendDateHeader(false);
    server.setStopAtShutdown(true);
    // set up context
    Context context = new Context(server, "/", Context.SESSIONS);
    context.addServlet(shPojoMap, "/status/cluster");
    context.addServlet(sh, "/*");
    if (authFilter != null) {
        context.addFilter(authFilter, "/*", 1);
    }

    HttpServerUtil.constrainHttpMethods(context);

    // Put up info server.
    int port = (hbaseRestInfoPort == null) ? 8085 : hbaseRestInfoPort;
    if (port >= 0) {
        conf.setLong("startcode", System.currentTimeMillis());
        String a = hbaseRestHost;
        infoServer = new InfoServer("rest", a, port, false, conf);
        infoServer.setAttribute("hbase.conf", conf);
        infoServer.start();
    }
    // start server
    server.start();
}
项目:hbase    文件:HMaster.java   
/**
 * @param infoServer that we're trying to send all requests to
 * @param hostname may be null. if given, will be used for redirects instead of host from client.
 */
public RedirectServlet(InfoServer infoServer, String hostname) {
   regionServerInfoPort = infoServer.getPort();
   regionServerHostname = hostname;
}
项目:hbase    文件:HRegionServer.java   
/**
 * Puts up the webui.
 * @return Returns final port -- maybe different from what we started with.
 * @throws IOException
 */
private int putUpWebUI() throws IOException {
  int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,
    HConstants.DEFAULT_REGIONSERVER_INFOPORT);
  String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");

  if(this instanceof HMaster) {
    port = conf.getInt(HConstants.MASTER_INFO_PORT,
        HConstants.DEFAULT_MASTER_INFOPORT);
    addr = this.conf.get("hbase.master.info.bindAddress", "0.0.0.0");
  }
  // -1 is for disabling info server
  if (port < 0) return port;

  if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {
    String msg =
        "Failed to start http info server. Address " + addr
            + " does not belong to this host. Correct configuration parameter: "
            + "hbase.regionserver.info.bindAddress";
    LOG.error(msg);
    throw new IOException(msg);
  }
  // check if auto port bind enabled
  boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO,
      false);
  while (true) {
    try {
      this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);
      infoServer.addServlet("dump", "/dump", getDumpServlet());
      configureInfoServer();
      this.infoServer.start();
      break;
    } catch (BindException e) {
      if (!auto) {
        // auto bind disabled throw BindException
        LOG.error("Failed binding http info server to port: " + port);
        throw e;
      }
      // auto bind enabled, try to use another port
      LOG.info("Failed binding http info server to port: " + port);
      port++;
    }
  }
  port = this.infoServer.getPort();
  conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);
  int masterInfoPort = conf.getInt(HConstants.MASTER_INFO_PORT,
    HConstants.DEFAULT_MASTER_INFOPORT);
  conf.setInt("hbase.master.info.port.orig", masterInfoPort);
  conf.setInt(HConstants.MASTER_INFO_PORT, port);
  return port;
}
项目:hbase    文件:HRegionServer.java   
/** @return the info server */
public InfoServer getInfoServer() {
  return infoServer;
}