@BeforeClass public static void startCluster() throws Exception { LOG.info("Starting cluster"); // Set master class and use default values for other options. StartMiniClusterOption option = StartMiniClusterOption.builder().masterClass(MyMaster.class) .rsClass(MyRegionServer.class).build(); TEST_UTIL.startMiniCluster(option); cluster = TEST_UTIL.getHBaseCluster(); LOG.info("Waiting for active/ready master"); cluster.waitForActiveAndReadyMaster(); master = cluster.getMaster(); }
@BeforeClass public static void startCluster() throws Exception { LOG.info("Starting cluster"); TEST_UTIL = new HBaseTestingUtility(); // Set master class and use default values for other options. StartMiniClusterOption option = StartMiniClusterOption.builder() .masterClass(TestMasterMetrics.MyMaster.class).build(); TEST_UTIL.startMiniCluster(option); cluster = TEST_UTIL.getHBaseCluster(); LOG.info("Waiting for active/ready master"); cluster.waitForActiveAndReadyMaster(); master = cluster.getMaster(); }
@BeforeClass public static void before() throws Exception { TESTING_UTIL.getConfiguration().setInt(HConstants.HBASE_BALANCER_PERIOD, 60000); StartMiniClusterOption option = StartMiniClusterOption.builder() .masterClass(MyMaster.class).numRegionServers(NB_SERVERS).numDataNodes(NB_SERVERS).build(); TESTING_UTIL.startMiniCluster(option); }
/** * Start up a minicluster of hbase, dfs, and zookeeper. * All other options will use default values, defined in {@link StartMiniClusterOption.Builder}. * @param numMasters Master node number. * @param numRegionServers Number of region servers. * @param numDataNodes Number of datanodes. * @param dataNodeHosts The hostnames of DataNodes to run on. If not null, its size will overwrite * HDFS data node number. * @param masterClass The class to use as HMaster, or null for default. * @param rsClass The class to use as HRegionServer, or null for default. * @param createRootDir Whether to create a new root or data directory path. * @param createWALDir Whether to create a new WAL directory. * @return The mini HBase cluster created. * @see #shutdownMiniCluster() * @deprecated Use {@link #startMiniCluster(StartMiniClusterOption)} instead. */ @Deprecated public MiniHBaseCluster startMiniCluster(int numMasters, int numRegionServers, int numDataNodes, String[] dataNodeHosts, Class<? extends HMaster> masterClass, Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> rsClass, boolean createRootDir, boolean createWALDir) throws Exception { StartMiniClusterOption option = StartMiniClusterOption.builder() .numMasters(numMasters).masterClass(masterClass) .numRegionServers(numRegionServers).rsClass(rsClass) .numDataNodes(numDataNodes).dataNodeHosts(dataNodeHosts) .createRootDir(createRootDir).createWALDir(createWALDir) .build(); return startMiniCluster(option); }
/** * Check that we can start a local HBase cluster specifying a custom master * and regionserver class and then cast back to those classes; also that * the cluster will launch and terminate cleanly. See HBASE-6011. Uses the * HBaseTestingUtility facilities for creating a LocalHBaseCluster with * custom master and regionserver classes. */ @Test public void testLocalHBaseCluster() throws Exception { // Set Master class and RegionServer class, and use default values for other options. StartMiniClusterOption option = StartMiniClusterOption.builder() .masterClass(MyHMaster.class).rsClass(MyHRegionServer.class).build(); TEST_UTIL.startMiniCluster(option); // Can we cast back to our master class? try { int val = ((MyHMaster)TEST_UTIL.getHBaseCluster().getMaster(0)).echo(42); assertEquals(42, val); } catch (ClassCastException e) { fail("Could not cast master to our class"); } // Can we cast back to our regionserver class? try { int val = ((MyHRegionServer)TEST_UTIL.getHBaseCluster().getRegionServer(0)).echo(42); assertEquals(42, val); } catch (ClassCastException e) { fail("Could not cast regionserver to our class"); } TEST_UTIL.shutdownMiniCluster(); }
/** * Starts up mini hbase cluster. * Usually you won't want this. You'll usually want {@link #startMiniCluster()}. * All other options will use default values, defined in {@link StartMiniClusterOption.Builder}. * @param numMasters Master node number. * @param numRegionServers Number of region servers. * @param rsPorts Ports that RegionServer should use. * @param masterClass The class to use as HMaster, or null for default. * @param rsClass The class to use as HRegionServer, or null for default. * @param createRootDir Whether to create a new root or data directory path. * @param createWALDir Whether to create a new WAL directory. * @return The mini HBase cluster created. * @see #shutdownMiniHBaseCluster() * @deprecated Use {@link #startMiniHBaseCluster(StartMiniClusterOption)} instead. */ @Deprecated public MiniHBaseCluster startMiniHBaseCluster(int numMasters, int numRegionServers, List<Integer> rsPorts, Class<? extends HMaster> masterClass, Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> rsClass, boolean createRootDir, boolean createWALDir) throws IOException, InterruptedException { StartMiniClusterOption option = StartMiniClusterOption.builder() .numMasters(numMasters).masterClass(masterClass) .numRegionServers(numRegionServers).rsClass(rsClass).rsPorts(rsPorts) .createRootDir(createRootDir).createWALDir(createWALDir).build(); return startMiniHBaseCluster(option); }
/** * Start up a minicluster of hbase, dfs, and zookeeper. * All other options will use default values, defined in {@link StartMiniClusterOption.Builder}. * @param numMasters Master node number. * @param numSlaves Slave node number, for both HBase region server and HDFS data node. * @param dataNodeHosts The hostnames of DataNodes to run on. If not null, its size will overwrite * HDFS data node number. * @param masterClass The class to use as HMaster, or null for default. * @param rsClass The class to use as HRegionServer, or null for default. * @return The mini HBase cluster created. * @see #shutdownMiniCluster() * @deprecated Use {@link #startMiniCluster(StartMiniClusterOption)} instead. */ @Deprecated public MiniHBaseCluster startMiniCluster(int numMasters, int numSlaves, String[] dataNodeHosts, Class<? extends HMaster> masterClass, Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> rsClass) throws Exception { StartMiniClusterOption option = StartMiniClusterOption.builder() .numMasters(numMasters).masterClass(masterClass) .numRegionServers(numSlaves).rsClass(rsClass) .numDataNodes(numSlaves).dataNodeHosts(dataNodeHosts) .build(); return startMiniCluster(option); }
/** * Start up a minicluster of hbase, dfs, and zookeeper. * All other options will use default values, defined in {@link StartMiniClusterOption.Builder}. * @param numMasters Master node number. * @param numRegionServers Number of region servers. * @param numDataNodes Number of datanodes. * @param dataNodeHosts The hostnames of DataNodes to run on. If not null, its size will overwrite * HDFS data node number. * @param masterClass The class to use as HMaster, or null for default. * @param rsClass The class to use as HRegionServer, or null for default. * @return The mini HBase cluster created. * @see #shutdownMiniCluster() * @deprecated Use {@link #startMiniCluster(StartMiniClusterOption)} instead. */ @Deprecated public MiniHBaseCluster startMiniCluster(int numMasters, int numRegionServers, int numDataNodes, String[] dataNodeHosts, Class<? extends HMaster> masterClass, Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> rsClass) throws Exception { StartMiniClusterOption option = StartMiniClusterOption.builder() .numMasters(numMasters).masterClass(masterClass) .numRegionServers(numRegionServers).rsClass(rsClass) .numDataNodes(numDataNodes).dataNodeHosts(dataNodeHosts) .build(); return startMiniCluster(option); }
@BeforeClass public static void setUp() throws Exception { UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY, 60000); UTIL.startMiniCluster( StartMiniClusterOption.builder().numRegionServers(2).masterClass(MockHMaster.class).build()); UTIL.createTable(TABLE_NAME, CF); UTIL.getAdmin().balancerSwitch(false, true); }
@BeforeClass public static void beforeAllTests() throws Exception { // Start a cluster StartMiniClusterOption option = StartMiniClusterOption.builder() .masterClass(MyMaster.class).numRegionServers(NB_SERVERS).numDataNodes(NB_SERVERS).build(); TEST_UTIL.startMiniCluster(option); MiniHBaseCluster cluster = TEST_UTIL.getHBaseCluster(); MASTER = cluster.getMaster(); MASTER.balanceSwitch(false); ADMIN = TEST_UTIL.getConnection().getAdmin(); }