private void reportUnknownServers() throws IOException {
    List<ServerName> unknownServers = admin.listUnknownServers();
    if (!unknownServers.isEmpty()) {
      unknownServers.stream().forEach(serverName -> {
        errors.reportError(ERROR_CODE.UNKNOWN_SERVER,
          "Found unknown server, some of the regions held by this server may not get assigned. "
            + String.format("Use HBCK2 scheduleRecoveries %s to recover.", serverName));
      });
    }
  }
This repair method requires the cluster to be online since it contacts region servers and the
masters. It makes each region's state in HDFS, in hbase:meta, and deployments consistent.
@return If &gt; 0 , number of errors detected, if &lt; 0 there was an unrecoverable error. If
        0, we have a clean hbase.
hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java