A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

hbase中Connection创建,

HConnectionManager.getConnection(HBaseConfiguration.create());

HConnectionManager.createConnection(HBaseConfiguration.create();

//1.3.x及以前使用一下方式创建,HConnectionManager是ConnectionFactory子类,2.x及以上使用一下方式创建链接

Connection hbaseConn = ConnectionFactory.createConnection(HBaseConfiguration.create());

Admin admin = hbaseConn.getAdmin();

通过源码可以看到,Connection接口继承Abortable, Closeable。

Abortable接口,提供两个方法,用于检测服务端或者客户端链接及终止。

Closeable接口,提供关闭资源方法。

Connection接口:

HBaseConfiguration.create(): 加载hbase配置文件属性,默认加载当前类根目录下的配置文件hbase-default.xml,然后加载hbase-site.xml,后者会覆盖前者中的属性信息。

ConnectionFactory:链接工厂,用于创建Connection链接,如果没有conf配置,则默认加载类根据下配置文件,如果有则使用当前配置。提供以下多种方式创建链接。

客户端调用使用自带配置文件hbase-site.xml,将改文件放在项目根目录下即可。该文件中至少需要配置一下信息:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://192.168.2.219:8020/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>192.168.2.219</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    <property>
        <name>zookeeper.znode.parent</name>
        <value>/hbase</value>
    </property>

</configuration>

ConnectionImplementation:  创建Connection接口实现类(org.apache.hadoop.hbase.client.ConnectionImplementation)对象

constructor.newInstance(conf, pool, user);通过反射创建 ConnectionImplementation对象

【转载】https://blog.csdn.net/seashouwang/article/details/81699708


2 个回复

正序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马