目录
引入的依赖
创建连接
命名空间
表
引入的依赖
创建连接
单线程使用连接
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
//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();
}
}
命名空间
好文阅读
发表评论