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


     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-25 23: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>

  • 相关阅读:
    [CF1336C] Kaavi and Magic Spell
    [CF1338C] Perfect Triples
    [CF1353F] Decreasing Heights
    [CF1442B] Identify the Operations
    [CF1354E] Graph Coloring
    [CF1364D] Ehab's Last Corollary
    php-fpm和fastcgi的区别
    phpredis实现互斥锁
    关于lnmp情况下PHP单线程的理解
    客户端断开链接以后 PHP执行过程实测
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276663.html
Copyright © 2020-2023  润新知