[原创]HBase客户端开发举例(第一部…

来源:互联网 发布:纯文字游戏源码 编辑:程序博客网 时间:2024/05/05 16:46

 1.软件需求

  假设需要通过JMX协议持续不断地监控Web服务器的Java虚拟机(JVM)的内存、CPU等使用情况,并将观测结果存入数据库。由于观测记录的数据量相当大,而且观测记录写入数据库后一般只进行读操作,不进行修改和删除操作,所以NoSql数据库比关系型数据更适合存储数据。

  在此项目中开发两个客户端MonitorClient和QueryDataClient,MonitorClient用于从Web服务器中获得JVM数据并保存在HBase之中,QueryDataClient用于从HBase中查询数据。

   Hbase数据库中的表名为jvmMonitor,含有三个列族"target", "memory","os"。

      为方便查询,行健用Web服务器IP和数据采集的时间来表示,共24位,前12位是IP,后12位是时间,不够的在前面用0填充。例如:IP为 10.1.2.122,时间为2012-11-2523:01:08,则行健为01000100212220121125230108。 这样便可通过IP、时间范围上下限构建行健来检索结果。

2. 构建项目

 在IDE中创建一个MVN项目Example,并将Hadoop,HBase的核心Jar包加入pom.xml文件中:

 

       <dependency>

         <groupId>org.apache.hadoop</groupId>

         <artifactId>hadoop-core</artifactId>

         <version>0.20.2</version>

      </dependency>

      <dependency>

         <groupId>org.apache.hbase</groupId>

         <artifactId>hbase</artifactId>

         <version>0.90.5</version>

      </dependency>

       

  在目录src/main/resource 下加入文件 hbase-site.xml ,用于指定所连接的HBase集群的位置,其内容如下所示:

   <configuration>

   <property>

      <name>hbase.zookeeper.quorum</name>

        <value>192.168.1.201</value> 

   </property>

   <property>

      <name>hbase.zookeeper.property.clientPort</name>

      <value>2181</value>

   </property>

   <property skipInDoc="true">

      <name>hbase.defaults.for.version</name>

      <value>0.90.5</value>

   </property>

</configuration>

0 0
原创粉丝点击