在《HA Hadoop-2.7.3+Hbase-1.2.4搭建》的基础上,整理记录如何在eclipse上进行进行hbase java api的应用。
hadoop以及hbase都是搭建在ubuntu虚拟机里,而eclipse则是在windows上。
1、配置windowns的host文件,添加虚拟机中相应的域名。
192.168.42.132 chan-takchi-03 192.168.42.131 chan-takchi-02 192.168.42.130 chan-takchi-01 192.168.42.129 chan-takchi
2、把hbase-1.2.4/lib里的jar文件添加到项目classpath。
3、编写java代码。
package chan.takchi.hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; public class HbaseDemo { public static void Test(String[] args) throws Exception { // Instantiating configuration class Configuration conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum", "192.168.42.132,192.168.42.131,192.168.42.130");; Connection conn = ConnectionFactory.createConnection(conf); Admin admin = conn.getAdmin(); // Instantiating table descriptor class HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("emp")); // Adding column families to table descriptor tableDescriptor.addFamily(new HColumnDescriptor("personal")); tableDescriptor.addFamily(new HColumnDescriptor("professional")); // Execute the table through admin System.out.println("Creating the table "); admin.createTable(tableDescriptor); System.out.println("Table created "); } public static void addColumn(String[] args) throws IOException { // Instantiating configuration class Configuration conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum", "192.168.42.132,192.168.42.131,192.168.42.130");; Connection conn = ConnectionFactory.createConnection(conf); Table t = conn.getTable(TableName.valueOf("students")); Put put = new Put(Bytes.toBytes("1234"));//rowkey put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("address"), Bytes.toBytes("SZ")); t.put(put); System.out.println("add data Success!"); } }
4、运行成功后,用shell命令查看创建的表吧。