在之前的两篇文章中,分别讨论了storm-rabbitmq,storm-hbase集成的基本用法,为此我们写一个简单的测试项目用于整体测试。 测试环境: storm0.9.6 hbase1.0.0 rabbitmq3.4.4 代码思路: 1.rabbitmq获取消息,直接转换为字符串(方便我们在rabbitmq web客户端直接发送字符串测试) 2.ra
storm-hbase的使用
在之前的文章里,我使用了rabbitmq作为storm-topololy中spout的数据来源,使用storm-rabbitmq作为spout直接使用。通常我们的业务逻辑如下: 在bolt对tuple进行处理之后,通常要将数据缓存到redis,memcached等内存数据库中,对于数据量小的,可以缓存到内存中,但是对于大量持久化的数据,更多时候需要存储到
HBase如何选择压缩算法
HBase的压缩算法或者编码类型的选择依赖于我们数据本身的特点,选择一个不合适的算法类型,可能会占用更多的空间,并且对我们系统本身性能有影响。 通常,我们需要在更小的空间占比与更快的压缩/解压缩速度之间权衡,可以参考下面的几点建议: 如果我们有很长的keys(与values相比而言)或者很多列,可以使用prefix编码器。这里推荐FAST_DIFF,因为
hadoop2.6.0编译源代码以及配置HBase snappy压缩
背景: 前期项目存储采用hdfs作为分布式文件系统,搭建hbase作为数据的存储平台,项目在开发以及上线过程中一直未配置压缩选项,随着数据的累积,很短时间,发现仅仅不到2亿数据已经占用400GB的存储空间,由于平台搭建预分配硬盘并不是非常充裕,所以需要开始着手配置hbase表的压缩。 测试环境: 笔记本:i7-3630QM 2.4GB + 12GB +
HBase与zookeeper独立安装
上一篇文章已经介绍了zookeeper集群的安装。 由于hbase中自带zookeeper,所以默认安装时启动,使用的是自带的zookeeper,为了统一管理整个分布式系统,需要将zookeeper集群独立搭建,并且让其他服务使用统一的zookeeper集群。 1.修改hbase-site.xml文件如下, [java] <configuratio
hadoop2.6.0+hbase1.0.1搭建完成hbase shell执行命令报错
在完成hadoop2.6.0+hbase1.0.1搭建完成之后,执行hbase shell可进行shell模式。 但是在执行命令之后,会出现如下错误,如执行status: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing at org.apache.hadoop.hba