目录

引入的依赖

创建连接

命名空间

引入的依赖

org.apache.hbase

hbase-client

2.4.11

javax.el

org.glassfish

org.glassfish

javax.el

3.0.1-b06

org.apache.hbase

hbase-common

2.4.11

org.apache.hbase

hbase-common

2.4.11

org.apache.hadoop

hadoop-common

2.10.0

创建连接

单线程使用连接

conf.set的配置信息具体跟本地hosts文件中的配置有关

public class HBaseConnection {

public static void main(String[] args) throws IOException {

//1.创建连接配置对象

Configuration conf = new Configuration();

//2.添加配置参数 zookeeper地址

conf.set("hbase.zookeeper.quorum","node1,node2,node3");

//3.创建连接,默认使用同步连接

Connection connection = ConnectionFactory.createConnection(conf);

//也可以使用异步连接

//CompletableFuture asyncConnection = ConnectionFactory.createAsyncConnection();

//4.使用连接

System.out.println(connection);

//5.关闭连接

connection.close();

}

}

在创建连接时,由于该连接是重量级的,创建时最好创建一个,所以当多个线程使用连接时,需要只创建一个连接,采用单例的模式

多线程使用连接

public class HBaseConnection2 {

public static Connection connection = null;

static {

//1.创建连接配置对象

Configuration conf = new Configuration();

//2.添加配置参数 zookeeper地址

conf.set("hbase.zookeeper.quorum","node1,node2,node3");

//3.创建连接,默认使用同步连接

try {

connection = ConnectionFactory.createConnection(conf);

} catch (IOException e) {

e.printStackTrace();

}

}

public static void closeConnection(){

if(connection != null) {

try {

connection.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

//4.使用连接

System.out.println(HBaseConnection2.connection);

HBaseConnection2.closeConnection();

}

}

命名空间

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。