Hbase-Client 1.x new version of API operations

    Somebai's tutorials are too old, many of them are outdated APIs, some methods are displayed with horizontal lines in eclipse, they look messy, and there are printing errors, so it took a few days to search for information. After sorting out the API of Hbase1.x, the java programs in this article are all based on HBase client 1.x and above, and write a set of examples and list them in different categories to share with you (with detailed Chinese comments) 

 

ALTER table related operations

1. Add column family

package com.chenjun.hbtest.example.alter;

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.MasterNotRunningException;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API添加一列族
 * 下面给出的是一个完整的程序,用于添加一列族到现有的表。
 * @author CJ
 */
public class AddColoumn {

	public static void main(String[] args) throws MasterNotRunningException, IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 初始化列描述对象
		HColumnDescriptor columnDescriptor = new HColumnDescriptor("contactDetails");

		// 添加一个列族
		admin.addColumn(TableName.valueOf("employee"), columnDescriptor);
		System.out.println("coloumn added");
	}

}

2. Delete the column family

package com.chenjun.hbtest.example.alter;

import java.io.IOException;
import java.nio.charset.Charset;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * @author CJ
 *
 * 使用Java API删除列族
 * 可以使用HBAseAdmin类的deleteColumn()方法删除列族。按照下面给出的步骤添加一个列族到表中。
 */
public class DeleteColoumn {

	public static void main(String[] args) throws MasterNotRunningException, IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 使用deleteColumn()方法delete列族。传递表名和列族名作为这个方法的参数。
		admin.deleteColumn(TableName.valueOf("TableName"), "contactDetails".getBytes(Charset.forName("UTF-8")));
		System.out.println("列族已删除");
	}

}

3. Create a table

package com.chenjun.hbtest.example.alter;

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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API创建一个表
 * 可以使用HBaseAdmin类的createTable()方法创建表在HBase中。
 * 这个类属于org.apache.hadoop.hbase.client 包。下面给出的步骤是来使用Java API创建表在HBase中。
 * 
 * @author CJ
 */

public class CreateTable {
	public static void main(String[] args) throws IOException, ServiceException {
		//new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		//初始化表描述
		HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("emp"));

		//给表描述对象增加列族
		tableDescriptor.addFamily(new HColumnDescriptor("personal"));
		tableDescriptor.addFamily(new HColumnDescriptor("professional"));

		//让admin根据tableDescriptor执行建表操作
		admin.createTable(tableDescriptor);
		System.out.println("hbase表创建成功! 表名为emp,列族有personal , professional");
	}
}

4. Delete table

package com.chenjun.hbtest.example.alter;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API删除表 在删除一个表之前必须先将其禁用。
 * 
 * @author CJ
 */
public class DeleteTable {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();
		// 禁用
		admin.disableTable(TableName.valueOf("emp"));
		// 删除
		admin.deleteTable(TableName.valueOf("emp12"));
		System.out.println("Table deleted");
	}

}

Add, delete, modify and check operations

1. Full scan table

package com.chenjun.hbtest.example.crud;
import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

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.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;

/**
 * 使用Java API扫描
 * 使用Java API扫描整个表的数据的完整程序如下:
 * 
 * @author CJ
 */
public class FullScanTable {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名实例化HTable对象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		Scan scan = new Scan();

		// 扫描需要的列族和列
		scan.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
		scan.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("city"));

		// 获取扫描结果
		ResultScanner scanner = hTable.getScanner(scan);

		// 遍历scan结果
		for (Result result = scanner.next(); result != null; result = scanner.next()) {
			System.out.println("Found row : " + result);
		}
		scanner.close();
	}

}

2. Range scan table

package com.chenjun.hbtest.example.crud;

import java.io.IOException;
import java.util.List;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 用JAVA API通过行键范围扫描HBase的操作
 * @author CJ
 */
public class RangeScanTable {
	public static void main(String[] args) throws IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名实例化HTable对象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}
		//行键的开始值
		String beginRowKey = "1";
		//行键的结束值
		String endRowKey = "2";
		Scan scan = new Scan(Bytes.toBytes(beginRowKey), Bytes.toBytes(endRowKey));
		ResultScanner result = hTable.getScanner(scan);
		for (Result item : result) {
			String rowKey = Bytes.toString(item.getRow());
			//参数:列族,列名
			List<Cell> cells = item.getColumnCells(Bytes.toBytes("self"), Bytes.toBytes("name"));
			//最新的值排在前面,所以取cells的第一个元素
			System.out.println("rowKey:"+rowKey+"  "+"cell:"+cells.get(0));
		}
		
	}
}

3. Insert data

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API插入数据
 * 可以使用Put 类的add()方法将数据插入到HBase。
 * 可以使用HTable类的put()方法保存数据。这些类属于org.apache.hadoop.hbase.client包
 * 
 * @author CJ
 */
public class InsertData {

	public static void main(String[] args) throws IOException, ServiceException {
		//new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		// 用rowKey实例化Put类
		Put p = new Put(Bytes.toBytes("row1"));
		
		//参数:列族,列名,列值
		p.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"), Bytes.toBytes("raju"));

		p.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("city"), Bytes.toBytes("hyderabad"));

		p.addColumn(Bytes.toBytes("professional"), Bytes.toBytes("designation"), Bytes.toBytes("manager"));

		p.addColumn(Bytes.toBytes("professional"), Bytes.toBytes("salary"), Bytes.toBytes("50000"));

		hTable.put(p);
		System.out.println("data inserted");
		hTable.close();
	}

}

4. Query data

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API读取数据 从一个HBase表中读取数据,要使用HTable类的get()方法。这种方法需要Get类的一个实例
 * 
 * @author CJ
 */
public class ReadData {
	public static void main(String[] args) throws IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名实例化HTable对象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		// 用RowKey实例化Get对象
		Get g = new Get(Bytes.toBytes("row1"));

		// 读取数据
		Result result = hTable.get(g);

		// 根据列族和列取出数据
		byte[] value = result.getValue(Bytes.toBytes("personal"), Bytes.toBytes("name"));
		byte[] value1 = result.getValue(Bytes.toBytes("personal"), Bytes.toBytes("city"));

		//byte[]转String 
		String name = Bytes.toString(value);
		String city = Bytes.toString(value1);
		
		//打印输出结果
		System.out.println("name: " + name + " city: " + city);
	}
}

5. Update data

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
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.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API更新数据 使用put()方法将特定单元格更新数据
 * 
 * @author CJ
 */
public class UpdateData {

	public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, ServiceException, IOException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}
		// 用rowKey实例化Put对象
		Put p = new Put(Bytes.toBytes("row1"));
		p.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("city"), Bytes.toBytes("Delih"));
		hTable.put(p);
		System.out.println("data Updated");
		//关闭表
		hTable.close();
	}

}

6. Delete data

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
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.Delete;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API删除数据 可以从使用HTable类的delete()方法删除HBase表数据
 * 
 * @author CJ
 */
public class DeleteData {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名实例化HTable对象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		// 用rowKey实例化Delete对象
		Delete delete = new Delete(Bytes.toBytes("row1"));
		//制定要删除的列族和列
		delete.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
		delete.addFamily(Bytes.toBytes("professional"));

		// 执行删除
		hTable.delete(delete);

		// closing the HTable object
		hTable.close();
		System.out.println("data deleted.....");
	}

}

other operations

1. Disable the table

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 禁用表使用Java API 要验证一个表是否被禁用,使用isTableDisabled()方法 和disableTable()方法禁用一个表。
 * 这些方法属于HBaseAdmin类。
 * 
 * @author CJ
 */
public class DisableTable {
	public static void main(String[] args) throws IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 检查表是否禁用。
		Boolean bool = admin.isTableDisabled(TableName.valueOf("emp"));
		System.out.println(bool);

		// 使用HBaseAdmin对象禁用表。
		if (!bool) {
			admin.disableTable(TableName.valueOf("emp"));
			System.out.println("表[emp]已经被禁用");
		}
	}

}

2. Enable Table

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API启用表
 * 要验证一个表是否被启用,使用isTableEnabled()方法;并且使用enableTable()方法使一个表启用。
 * 这些方法属于HBaseAdmin类。按照下面给出启用表的步骤。
 * 
 * @author CJ
 */
public class EnableTable {

	public static void main(String[] args) throws MasterNotRunningException, IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 检查表是否启用。
		Boolean bool = admin.isTableEnabled(TableName.valueOf("emp"));
		System.out.println(bool);

		// Disabling the table using HBaseAdmin object
		if (!bool) {
			admin.enableTable(TableName.valueOf("emp"));
			System.out.println("Table[emp]已经启用");
		}
	}

}

3. List all tables

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API列出表
 * 按照下面给出的步骤来使用Java API从HBase获得表的列表。
 * 
 * @author CJ
 */
public class ListTables {

	public static void main(String[] args) throws IOException, ServiceException {
		//new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		//根据admin获取表描述
		HTableDescriptor[] tableDescriptor = admin.listTables();

		//打印所有的表名
		for (int i = 0; i < tableDescriptor.length; i++) {
			System.out.println(tableDescriptor[i].getNameAsString());
		}
	}

}

4. Determine whether a table exists

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API验证表的存在
 * 可以使用HBaseAdmin类的tableExists()方法验证表在HBase中是否存在。按照下面给出的步骤验证HBase表存在。
 * 
 * @author CJ
 */
public class TableExists {

	public static void main(String[] args) throws IOException, ServiceException{
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 验证表是否存在
		boolean bool = admin.tableExists(TableName.valueOf("emp"));
		System.out.println(bool);
	}

}

5. Shut down the HBase service

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API停止HBase
 * 可以使用HBaseAdmin类的shutdown()方法关闭HBase。按照下面给出关闭HBase的步骤
 * 
 * @author CJ
 */

public class ShutDownHbase {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一个配置对象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 停止Hbase
		System.out.println("Shutting down hbase");
		admin.shutdown();
	}

}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325091091&siteId=291194637