1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase;
21
22 import org.apache.hadoop.conf.Configuration;
23 import org.apache.hadoop.hbase.client.Get;
24 import org.apache.hadoop.hbase.client.HTable;
25 import org.apache.hadoop.hbase.client.Put;
26 import org.apache.hadoop.hbase.client.Result;
27 import org.apache.hadoop.hbase.util.Bytes;
28 import org.junit.Test;
29
30 import static org.junit.Assert.assertEquals;
31
32
33
34
35
36 public class TestMultiClusters {
37
38 private static final byte[] TABLE_NAME = Bytes.toBytes("test");
39 private static final byte[] FAM_NAME = Bytes.toBytes("fam");
40 private static final byte[] ROW = Bytes.toBytes("row");
41 private static final byte[] QUAL_NAME = Bytes.toBytes("qual");
42 private static final byte[] VALUE = Bytes.toBytes("value");
43
44
45
46
47
48
49
50 @Test (timeout=100000)
51 public void twoClusters() throws Exception{
52 Configuration conf1 = HBaseConfiguration.create();
53
54 conf1.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/1");
55 HBaseTestingUtility utility1 = new HBaseTestingUtility(conf1);
56 utility1.startMiniZKCluster();
57
58 Configuration conf2 = HBaseConfiguration.create();
59 conf2.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/2");
60 HBaseTestingUtility utility2 = new HBaseTestingUtility(conf2);
61
62 utility2.setZkCluster(utility1.getZkCluster());
63
64 utility1.startMiniCluster();
65 utility2.startMiniCluster();
66
67 HTable table1 = utility1.createTable(TABLE_NAME, FAM_NAME);
68 HTable table2 = utility2.createTable(TABLE_NAME, FAM_NAME);
69
70 Put put = new Put(ROW);
71 put.add(FAM_NAME, QUAL_NAME, VALUE);
72 table1.put(put);
73
74 Get get = new Get(ROW);
75 get.addColumn(FAM_NAME, QUAL_NAME);
76 Result res = table1.get(get);
77 assertEquals(1, res.size());
78
79 res = table2.get(get);
80 assertEquals(0, res.size());
81 }
82
83 }