private void createWriteTable(int numberOfServers) throws IOException {
      int numberOfRegions = (int) (numberOfServers * regionsLowerLimit);
      LOG.info("Number of live regionservers {}, pre-splitting the canary table into {} regions "
        + "(current lower limit of regions per server is {} and you can change it with config {}).",
        numberOfServers, numberOfRegions, regionsLowerLimit,
        HConstants.HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY);
      ColumnFamilyDescriptor family =
        ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(CANARY_TABLE_FAMILY_NAME))
          .setMaxVersions(1).setTimeToLive(writeDataTTL).build();
      TableDescriptor desc =
        TableDescriptorBuilder.newBuilder(writeTableName).setColumnFamily(family).build();
      byte[][] splits = new RegionSplitter.HexStringSplit().split(numberOfRegions);
      admin.createTable(desc, splits);
    }
Returns List of tables to use in test.
hbase-server/src/main/java/org/apache/hadoop/hbase/tool/CanaryTool.java