1 host文件修改
找到hosts文件位置
修改hosts文件
2 java引入hbase的包
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<hbase.version>1.1.2</hbase.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>com.bwol</groupId>
<artifactId>bwframework-starter</artifactId>
<version>4.1.2-SNAPSHOT</version>
</dependency>
<!-- -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.1.3</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>15.0</version>
</dependency>
<!-- -->
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.38</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>${hbase.version}</version>
<exclusions>
<exclusion>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-common</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-server</artifactId>
<version>${hbase.version}</version>
</dependency>
</dependencies>
3 配置连接对象
配置文件
zkhost=hmaster
获取连接
@Configuration
public class MyConfiguration {
@Bean
public HBaseService getHBaseService(){
return new HBaseServiceImpl();
}
}
private static volatile HBase instance = null;
private static HBaseService hBaseService;
public static HBase getInstance(String zkHost) {
if (instance == null) {
synchronized (HBase.class) {
HBaseUtil.init(zkHost);
if (instance == null) {
instance = new HBase();
}
}
}
return instance;
}
/**
* 初始化配置
* @param zkHost
*/
public static void init(String zkHost){
try {
if (conf == null) {
conf = HBaseConfiguration.create();
// conf.set("hbase.zookeeper.property.clientPort", 2181);
conf.set("hbase.zookeeper.quorum", zkHost);
//conf.set("zookeeper.znode.parent", "/hbase");
}
getConnection();
} catch (Exception e) {
logger.error("HBase Configuration Initialization failure !");
throw new RuntimeException(e) ;
}
}
在业务中获取Hbase对象
HBase hbase = HBase.getInstance(BwolConfig.get("zkhost"));
存数据
Put put = new Put(Bytes.toBytes(rowKey));
put.addColumn(Bytes.toBytes("data"), Bytes.toBytes(columnTime),Bytes.toBytes(dataSource.getDataValue()));//纵族名称 列名 值
hbase.put(HbaseConstans.ONE_MINUTES, put, false);//命名空间数据库名 put对象