一个java的集成好spring的maven项目。
这里配置好这两个依赖项,maven会把相关的依赖包下载下来,不需要我们一个一个去找相关包。
如果不是用的maven来管理项目,那么就可能需要自己把相关的依赖包找出来。
我们新建一个hbase-config.xml文件,配置内容为
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/hadoop
http://www.springframework.org/schema/hadoop/spring-hadoop.xsd">
zookeeper.znode.parent=/hbase1
这里我基本使用的都是默认配置,xmlns是标签解析的时候需要用的一些hadoop相关的配置,
hbase的增删改查的操作。我们可以使用这些封装好的方法,也可以自己直接操作hbase连接,封装对应的
需要的方法。
然后,我们需要把hbase-config.xml配置文件引入到总的配置文件中,这里我的总的配置文件是
application-context.xml,引入代码如下:
这里对应hbase-config.xml文件的存放地址,我的是放在config文件夹下。
public class HbaseTest {
/** 日志 */
private static Logger logger = Logger.getLogger(HbaseTest.class);
@Autowired
private HbaseTemplate htemplate;
//测试get方法
public void get() {
htemplate.get("bolg2", "rowkey1", new RowMapper
@Override
public String mapRow(Result result, int rowNum) throws Exception {
String conten = Bytes.toString(result.getValue(Bytes.toBytes("article"), Bytes.toBytes("conten")));
logger.info(">>>>blog2查询数据为:" + conten);
return conten;
}
});
}
//main方法直接连接测试
public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, IOException {
Configuration cf=HBaseConfiguration.create();
cf.set(HConstants.ZOOKEEPER_QUORUM,"10.20.15.197,10.20.15.198,10.20.15.200");
cf.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/hbase1");
Connection connection = ConnectionFactory.createConnection(cf);
TableName name = TableName.valueOf("blog2");
Table table = connection.getTable(name);
Get get = new Get(Bytes.toBytes("rowkey1"));
Result result = table.get(get);
String conten =Bytes.toString(result.getValue(Bytes.toBytes("article"), Bytes.toBytes("conten")));
table.close();
connection.close();
logger.info(">>>>blog2查询数据为:" + conten);
}
}
以上提供了两种方法来测试我们的hbase集群的连通性,大家可以参考修改为自己可用的代码。
最后,如果我们能够从打印的日志里找到我们想要的值,那就成功了。
集成的过程中碰到很多问题,以上是问题解决后的整个流程,记录下来,供自己和他人参考。