清理idea缓存

使用idea的时候,有时调整了文件结构或pom文件就会报一些莫名其妙的错误。之前的解决方式是:打开应用目录,删除掉一系列idea生成的工程文件,而后再用idea重新打开就行了。

现在发现了一个新的解决方式:选择 菜单 -> File –>Invalidate Cache / Restart,打开缓存清理功能,点击“Invalidate and Restart”完成清…

关于Zero Copy

概述

很多web应用都会有大量的静态文件。我们通常是从硬盘读取这些静态文件,并将完全相同的文件数据写到response socket。这样的操作需要较少的CPU,但是效率有些低,它需要经过如下的过程:kernel从硬盘读取数据,越过kernel-user边界将数据传递给用户空间的web应用;用户空间的web应用再次越过kernel-user边界将完全相同的数据写…

hbase hbck用法

在这里简单整理下hbase hbck的用法。

用法:

opts通用可选项

-help 展示help信息;

-detail 展示所有Region的详情;

-timelag <秒级时间>  处理在过去的指定时间内没有发生过元数据更新的region;

-sleepBeforeRerun <秒级时…

在Spark上通过自定义RDD访问HBase

这里介绍一个在Spark上使用自定义RDD获取HBase数据的方案。

这个方案的基础是我们的HBase表的行键设计。行键设计大概是这样子的:标签ID+时间戳+随机码。平时的需求主要是导出指定标签在某个时间范围内的全部记录。根据需求和行键设计确定下实现的大方向:使用行键中的时间戳进行partition并界定startRow和stopRow来缩小查询范围,使用HB…

Unsupported major.minor version

又遇到了Unsupported major.minor version 52.0这个问题。很清楚这是编译打包时使用的jdk版本与运行环境jre版本不一致导致的。但是总是记不住具体的jdk版本与major version的对应关系。在这里记一下:

Java SE 9 = 53 (0x35 hex),[3]
Java SE 8 = 52 (0x34 hex),
Java SE 7 = 51 (0x33 hex)

发表在 Bug

kafka0.9 Consumer poll()方法阻塞

最近项目中用到了Kafka0.9,在使用0.9的Consumer API的时候遇到了poll()方法阻塞的问题。程序没有报任何错误,只是持续在poll()方法处阻塞。深入poll()方法可以看到是在AbstractCoordinator.ensureCoordinatorKnown()方法中出现了死循环。在循环中不停地输出如下DEBUG日志: