一、源码分析
/**
* 设定Hbase指定Configuration;在默认情况是删除当前配置管理的连接信息
* 有参数deleteConnection 控制
*/
public class HbaseConfigurationFactoryBean implements InitializingBean, DisposableBean, FactoryBean<Configuration> {
private static final Log log = LogFactory.getLog(HbaseConfigurationFactoryBean.class);
// 是否删除当前配置相关的连接信息
private boolean deleteConnection = true;
// hbase配置
private Configuration configuration;
// hadoop配置
private Configuration hadoopConfig;
// hbase默认属性参数配置信息
private Properties properties;
// 连接zookeeper的连接数
private String quorum;
// 端口
private Integer port;
/**
* Indicates whether the potential connection created by this config is destroyed at shutdown (default).
* Configuration被清除时,与之关联的Connection信息也要删除
* @param deleteConnection The deleteConnection to set.
*/
public void setDeleteConnection(boolean deleteConnection) {
this.deleteConnection = deleteConnection;
}
/**
* Indicates whether, when/if the associated connection is destroyed, whether the proxy is stopped or not.
* 目前该方法已不再使用
* @param stopProxy The stopProxy to set.
*/
public void setStopProxy(boolean stopProxy) {
log.warn("Use of 'stopProxy' has been deprecated");
}
/**
* Sets the Hadoop configuration to use.
* 设置Hadoop Config
* @param configuration The configuration to set.
*/
public void setConfiguration(Configuration configuration) {
this.hadoopConfig = configuration;
}
// 销毁连接信息
@SuppressWarnings("deprecation")
public void destroy() {
if (deleteConnection) {
HConnectionManager.deleteConnection(getObject());
}
}
/**
* 设置Configuration的属性参数.
*
* @param properties The properties to set.
*/
public void setProperties(Properties properties) {
this.properties = properties;
}
// 属性设置
// 根据hadoopConfig参数内容是否为空 决定是否使用
// hadoop Configuration 构建 Hbase Configuration
// quorum 连接数替换默认zookeeper connection
// port 设定zookeeper port
public void afterPropertiesSet() {
configuration = (hadoopConfig != null ? HBaseConfiguration.create(hadoopConfig) : HBaseConfiguration.create());
ConfigurationUtils.addProperties(configuration, properties);
// set host and port last to override any other properties
if (StringUtils.hasText(quorum)) {
configuration.set(HConstants.ZOOKEEPER_QUORUM, quorum.trim());
}
if (port != null) {
configuration.set(HConstants.ZOOKEEPER_CLIENT_PORT, port.toString());
}
}
// 返回hbase configuration
public Configuration getObject() {
return configuration;
}
public Class<? extends Configuration> getObjectType() {
return (configuration != null ? configuration.getClass() : Configuration.class);
}
public boolean isSingleton() {
return true;
}
/**
* Sets the HBase Zookeeper Quorum host(s). If not specified, the default value (picked the the classpath) is used.
*
* @param quorum HBase ZK quorum hosts.
*/
public void setZkQuorum(String quorum) {
this.quorum = quorum;
}
/**
* Sets the HBase Zookeeper port for clients to connect to. If not specified, the default value (picked from the classpath) is used.
*
* @param port HBase ZK client port.
*/
public void setZkPort(Integer port) {
this.port = port;
}
}
该类主要是设定hbase configuration factory的;同时该类在默认情况下是清除当前Configuration所关联的Connection
分享到:
相关推荐
Java操作hbase完成hbase数据文件下载
spring boot 对 hbase 客户端2.2.2 连接的支持,包含客户端的配置,及map直接操作数据库,极大的方便对大数据的管理!!!
phoenix +hbase+spring 整合技术 phoenix +hbase+spring 整合技术 phoenix +hbase+spring 整合技术 根据需要 下载 集成的jar phoenix-core-4.13.0-HBase-0.98.jar
Spring-Boot-HBase-RESTful Spring-Boot-HBase-RESTful ##安装 brew install hadoop hbase zookeeper## HBase入门 start-hbase.sh start sudo /usr/local/Cellar/zookeeper/3.4.8/bin/zkServer start参考示例代码: ...
基于SpringMVC+Spring+HBase+Maven搭建的Hadoop分布式云盘系统.zip 语言:Java 框架:springMVC 数据库:HBASE 可以作为毕业设计
Spring for Apache Hadoop 提供了 Spring 框架用于创建和运行 Hadoop MapReduce、Hive 和 Pig 作业的功能,包括 HDFS 和 HBase。如果你需要简单的基于 Hadoop 进行作业调度,你可添加 Spring for Apache Hadoop 命名...
基于hadoop+hbase+springboot实现的分布式网盘系统,适合本科毕业设计 资源包含的整个demo在Hadoop,和Hbase环境搭建好了,可以启动起来。 技术选型 1.Hadoop 2.Hbase 3.SpringBoot ...... 系统实现的功能 1.用户...
大数据hbase测试项目, String boot + hadoop + hbase 的一个测试项目 1.jdk路径不能有空格,中文 2.spring 示例官方xml配置中需有调整,避免 delete xxx 异常。 3.maven本地版本不能小于cm上hadoop、hbase版本。
实战开发通过jmx获取HBase运行时数据,监控集群状态 5-1 HBase备份与恢复 5-2 HBase监控简介 5-3 Hadoop JMX监控实战 5-4 HBase JMX监控实战 第6章 Phoenix & Sqoop 对HBase业务应用过程中常用到的第三方开源工具...
web端用spring mvc4.0.5 hadoop+hbase 伪分布实验环境 已实现用户注册 登陆 网盘管理:上传文件 创建文件夹 修改文件及文件夹 分享文件及文件夹 删除文件及文件夹 仿百度文库浏览文档 和下载文件功能
大数据企业实训项目:基于SpringMVC+Spring+HBase+Maven搭建的Hadoop分布式云盘系统。使用Hadoop HDFS作为文件存储系统、HBase作为数据存储仓库,采用SpringMVC+Spring框架实现,包括用户注册与登录、我的网盘、关注...
基于Hadoop分布式云盘系统使用Hadoop HDFS作为文件存储系统、HBase作为数据存储仓库,采用SpringMVC+Spring框架实现,包括用户注册与登录、我的网盘、关注用户、我的分享、我收到的分享等五大功能模块。其中我的网盘...
基于SpringMVC+Spring+HBase+Maven搭建的Hadoop分布式云盘系统。使用Hadoop HDFS作为文件存储系统、HBase作为数据存储仓库,采用SpringMVC+Spring框架实现,包括用户注册与登录、我的网盘、关注用户、我的分享、我...
Hadoop_and_Hbase_搭建_云存储_概述
基于SpringMVC+Spring+HBase+Maven搭建的Hadoop分布式云盘系统。使用Hadoop HDFS作为文件存储系统、HBase作为数据存储仓库,采用SpringMVC+Spring框架实现,包括用户注册与登录、我的网盘、关注用户 毕业设计是高等...
源码主要用于学习:1. Spring Boot+Hadoop+Hive+Hbase实现数据基本操作,Hive数据源使
DELI:HBase / NoSQL的日志结构二级索引介绍DELI是NoSQL系统的二级索引。 它当前支持全局索引,并且适用于类似HBase的NoSQL系统,在该系统中,通过... sudo docker run -i -t tristartom/deli-hadoop-hbase-ubuntu /bi
Hbase Spring boot实战分布式文件存储用于大数据处理的基本技术