private int start() throws Exception {
    Configuration conf = getConf();
    final Span span = TraceUtil.createSpan("HRegionServerCommandLine.start");
    try (Scope ignored = span.makeCurrent()) {
      // If 'local', don't start a region server here. Defer to
      // LocalHBaseCluster. It manages 'local' clusters.
      if (LocalHBaseCluster.isLocal(conf)) {
        LOG.warn("Not starting a distinct region server because " + HConstants.CLUSTER_DISTRIBUTED
          + " is false");
      } else {
        logProcessInfo(getConf());
        HRegionServer hrs = HRegionServer.constructRegionServer(regionServerClass, conf);
        hrs.start();
        hrs.join();
        if (hrs.isAborted()) {
          throw new RuntimeException("HRegionServer Aborted");
        }
      }
      span.setStatus(StatusCode.OK);
    } catch (Throwable t) {
      TraceUtil.setError(span, t);
      LOG.error("Region server exiting", t);
      return 1;
    } finally {
      span.end();
    }
    return 0;
  }
Class responsible for parsing the command line and starting the RegionServer.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.java