文档简介:
创建Connection
功能介绍
HBase通过ConnectionFactory.createConnection(configuration)方法创建Connection对象。
传递的参数为上一步创建的Configuration。
Connection封装了底层与各实际服务器的连接以及与ZooKeeper的连接。Connection通过
ConnectionFactory类实例化。创建Connection是重量级操作,Connection是线程安全
的,因此,多个客户端线程可以共享一个Connection。
典型的用法,一个客户端程序共享一个单独的Connection,每一个线程获取自己的
HbaseClient实例,然后调用HbaseClient对象提供的操作接口。不建议缓存或
者池化HbaseClient。HbaseClient的生命周期由调用者维护,调用者通过调用release(),
释放资源。
代码样例
以下代码片段是登录,创建Connection并创建表的示例,在
下面代码片段在cn.chinatelecom.hbase.sample.client包的“HbaseClient”类的构造方法中。
private Connection conn;
private Admin admin;
public HbaseClient(Configuration conf) {
try {
conn = ConnectionFactory.createConnection(conf);
admin = conn.getAdmin();
} catch (IOException e) {
LOGGER.error(e.getMessage());
System.exit(-1);
}
说明
构造代码要避免重复调用。释放资源的代码片段在cn.chinatelecom.hbase.sample.client包的“HbaseClient”类的release方法中。
public void release() {
try {
if (admin != null){
admin.close();
}
if (conn != null) {
conn.close();
}
} catch (IOException e) {
LOGGER.error(e.getMessage());
}
}