• HBase Bulk Load

    概述 BulkLoad是一种高效写入HBase的方式,适用于将数据批量迁移到HBase。 BulkLoad使用MapReduce作业直接生成HBase的StoreFile,并将生成的StoreFile直接装载入正在运行的HBase集群。较之

    [阅读更多...]
  • hbase.fs.tmp.dir 导致的错误

    在执行BulkLoad的时候报了如下的错误: 使用的HBase版本是1.1.2. 从错误日志中可以看到导致这个问题的是HFileOutputFormat2类中的这一行: 关键是“hbase.fs.tmp.dir”这个配置信息。注意这个配置不

    [阅读更多...]
  • 关于和leader沟通

    处理了一点儿杂事后什么也不想干,干脆写点儿东西好了。 前两天下班后在地铁上和同事聊了些关于和leader沟通的话题。这两天总结了下,一般情况下有如下几个原则: 经常沟通,让leader知道你在做什么; 遇到问题时最好带上自己的解决方案; 挑

    [阅读更多...]
  • HBase自定义Filter

    必需要提前说明下:不建议使用自定义的Filter。所有的Filter都是在服务端生效:就是说需要将自定义的Filter封装为jar,上传到HBase的类路径下,并重启HBase使之生效。对于生产环境的HBase来说,重启通常是不能接受的。

    [阅读更多...]
  • 通过HA访问Hdfs获取ActiveNode

    通过HA访问Hdfs的时候如何获取到活跃节点是一个稍稍有些麻烦的事情。 目前使用过两种方案:一是通过webhdfs接口逐一访问测试,找到状态为可用的节点;一是在zookeeper上直接获取当前活跃的节点。 简单说下第二种方案。ha的Acti

    [阅读更多...]
  • HBase RowKey设计

    热点现象 HBase中的记录行按行键的字典顺序进行排序。这种设计有利于扫描(scan)记录。因此我们可以合理的设计行键,将相关的行或者需要一起读取的行放得靠近一些。不过设计得不好的行键也是热点现象的常见来源。当大量客户端流量指向集群中一个或

    [阅读更多...]
  • 魔术师or建筑师

    前段时间(额,至少是六个月前)接手了一个应用。看了一圈代码心里满是郁闷。应用要处理的事情很简单,但是代码一点儿也不简单。给人的感觉就是为了要使用java8的一个特性而生生将程序扭曲成了一个奇怪的东西。当时就有心吐槽一番,不过拖延症发作才等到

    [阅读更多...]
  • 使用sbt-assembly提示unresolved dependency

    在使用sbt-assembly打包的时候遇到失败。报的错误信息如下: 疑惑了好久。 后来在StackOverflow找到了说明。这个问题是scalaVersion导致的。sbt在build应用的时候会使用scalaVersion这个配置项指

    [阅读更多...]
  • HBase Shell整理

    简单整理了下HBase Shell的常见命令。 version 查看HBase版本。 status 查看HBase集群的状态。 create 创建表。建表时需要指定表名及列族的名称。 list 列出HBase中创建的所有表的信息。在当前的H

    [阅读更多...]
  • 解决Gson 处理Map将整型处理为浮点型的问题

    gson一直是我用着非常得心应手的json处理工具。但是最近遇到了一个坑,就是在处理java.util.Map型json字符串的时候会把整型转为浮点型。 示例程序如下: 执行结果如下: 原因在于json的语法中关于数值只有一个number类

    [阅读更多...]