- 博客(27)
- 收藏
- 关注
Kafka0.10新特性
5月23日Confluent官方宣布Apache Kafka 0.10正式发布。该版本包含了很多新功能和优化,这里列出比较重要的几项: Streams如果你有这样的需求,从Kafka拉取数据进行流处理然后再推送回Kafka,那么你会喜欢0.10的Kafka Streams。Kafka Streams是一个类库,它实现了一系列流处理动作(例如join,filter,aggregat...
2016-05-26 22:40:58 283
Kafka MirrorMaker实践
最近准备使用Kafka Mirrormaker做两个数据中心的数据同步,以下是一些要点: mirrormaker必须提供一个或多个consumer配置,一个producer配置,一个whitelist或一个blacklist(支持java正则表达式)启动多个mirrormaker进程,单个进程启动多个consuemr streams, 可以提高吞吐量和提供容mirrormake...
2016-04-20 17:35:14 733
KafkaConsumer0.9(三)
Properties props = new Properties();props.put("bootstrap.servers", "localhost:9092");props.put("group.id", "test_group");props.put("enable.auto.commit", "true");props.put("auto.co
2016-01-18 10:49:54 148
KafkaConsumer0.9(二)
先看一个简单的KafkaConsumer例子: Properties props = new Properties();props.put("bootstrap.servers", "localhost:9092");props.put("group.id", "test_group");props.put("enable.auto.commit", "true");
2016-01-12 15:36:02 164
KafkaConsumer0.9(一)
Kafka0.9发布了新版consumer client。它与旧版本最大的区别是移除了基于zookeeper的high-level consumer和low-level SimpleConsumer,而代之于一个统一的consumer API,它集成了之前high-level consumer的group管理功能和low-level consumer的offset控制功能。 新的cons...
2016-01-12 15:05:43 135
Kafka Connect
Kafka Connect是Kafka0.9新增的模块。可以从名称看出,它可以和外部系统、数据集建立一个数据流的连接,实现数据的输入、输出。有以下特性: 使用了一个通用的框架,可以在这个框架上非常方面的开发、管理Kafka Connect接口支持分布式模式或单机模式进行运行支持REST接口,可以通过REST API提交、管理 Kafka Connect集群offset自...
2016-01-11 15:19:44 256
原创 Elasticsearch配置内存
原生ES,只需要在启动时加上'-Xmx1g -Xms1g'Elasticsearch Docker,参数为 '-eES_MIN_MEM=1g-eES_MAX_MEM=1g'注意:1. mx和ms最好设为一样,避免GC2. 为了保证最大效率,ES内存设为预留内存的一半,另外一半留给Lucene。...
2015-11-11 11:15:02 369
Elasticsearch删除所有数据
项目中碰到一个elasticsearch的purge需求,就是说在不删除index和type的前提下,清除其中的所有数据。 用es的delete by query api可以做到,尽管官方声明deprecated in 1.5.3,但是经过测试1.8还是可以用的(真不敢想象要是不能用了怎么办。。。连个purge的api都没有。。),语法如下: DELETE /<index&...
2015-11-10 18:01:00 6257
Scala入门(四):文件操作
最近在做一个spark项目,顺便分享一下我的Scala入门过程。这一系列文章假定读者有一定的java或者其他面向对象编程语言基础。本文主要简单介绍文件的操作。 按惯例先上代码val file = Source.fromFile("/Users/xiejing/Desktop/javascript")for (line <- file.getLines()) { ...
2015-09-13 15:52:28 159
Elasticsearch Bulk API
Elasticsearch Bulk API允许批量提交index和delete请求。 BulkRequestBuilder bulkRequest = client.prepareBulk();bulkRequest.add(client.prepareIndex("index1", "type1", "id1").setSource(source);bulkRequest.a...
2015-09-09 23:51:53 209
Proguard混淆代码导致Spring自动装配失败
最近尝试用Proguard来混淆代码,以增加发布出去的代码安全性。今天运行混淆后的jar包发生如下异常Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: public abc.service.Service test.rest.controller.Cont...
2015-09-02 17:17:28 547
Scala入门(三):集合
最近在做一个spark项目,顺便分享一下我的Scala入门过程。这一系列文章假定读者有一定的java或者其他面向对象编程语言基础。本文主要简单介绍Scala的集合类型,包括Array,Tuple和Map。 照例先上一段代码注:ITEYE不支持Scala语法高亮,所以为了看起来方便,我选择作为Java来展示。 object TestScala3 { def m...
2015-08-31 22:16:36 225
Scala入门(二):流程控制
最近在做一个spark项目,顺便分享一下我的Scala入门过程。这一系列文章假定读者有一定的java或者其他面向对象编程语言基础。本文主要介绍Scala的流程控制和异常处理。 先上一段代码注:ITEYE不支持Scala语法高亮,所以为了看起来方便,我选择作为Java来展示,但这是Scala代码,这点不用怀疑。。 object TestScala2 { def ma...
2015-08-27 22:05:54 244
Scala入门(一):函数定义
最近在做一个spark项目,顺便分享一下我的scala入门过程。这一系列文章假定读者有一定的java或者其他面向对象编程语言基础。本文主要介绍scala的函数定义。 国际惯例,先来一段HelloWorldobject TestScala1 { def main(args: Array[String]): Unit = { val s = "Hello World!"...
2015-08-26 23:10:23 355
spark WARN TaskSchedulerImpl: Initial job has not accepted any resources
在本地提交一个spark job,出现如下错误 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory 在网上搜了一下,出现这种...
2015-08-06 15:05:46 451
rest service + spring boot + docker
开发 -> 测试 -> 部署,这是软件开发一般的简化流程,作为开发者我们总是希望能专注于开发,但往往会被一些开发之外的问题所折磨,比如繁多的spring依赖和不同的环境配置。带着这个问题,本文介绍运用springboot和docker开发和构建一个rest风格的web应用。 Spring 框架作为目前非常流行的一个 Java 应用开发框架,它包含几十个不同的子项目,涵盖应用开...
2015-08-05 09:42:00 104
kafka实时监控
在kafka的开发和维护中,我们经常需要了解kafka topic以及连接在其上的consumer的实时信息,比如logsize,offset,owner等。为此kafka提供了ConsumerOffsetChecker,它的用法很简单 bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group <group&g...
2015-07-28 22:43:44 745
Hbase Rest API : Hbase管理
在上一篇关于Hbase Rest API的文章中介绍了如何查询数据,本章将介绍其Hbase Admin的功能。 查询软件版本,包括操作系统,JVM,servlet容器等等。语法:GET /version 范例:curl http://localhost:8000/version 输出结果:{"@Stargate":"0.0.1","@OS":"Linux 2....
2015-07-21 10:34:08 296
AspectJ+Javasist记录日志
在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。 @Overridepublic String get(String key) {// long start = System.currentTimeMillis();// System.out.println("Begin Metho...
2015-07-16 10:20:11 173
Hbase Rest API : 数据查询
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。 启动命令:./bin/hbase rest start...
2015-07-13 12:01:41 1380 1
Spring boot内嵌的tomcat启动失败
根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误: SEVERE: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleEx...
2015-07-10 10:13:42 477
kafka consumer防止数据丢失
kafka最初是被LinkedIn设计用来处理log的分布式消息系统,因此它的着眼点不在数据的安全性(log偶尔丢几条无所谓),换句话说kafka并不能完全保证数据不丢失。 尽管kafka官网声称能够保证at-least-once,但如果consumer进程数小于partition_num,这个结论不一定成立。 考虑这样一个case,partiton_num=2,启动一个cons...
2015-07-07 23:08:53 529
kafka offset迁移
在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。 到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。 从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适的时候将offse...
2015-07-05 23:23:28 318
fastjson初始化对性能的影响
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。 网上的说法: fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:快速FAS...
2015-07-02 18:04:31 661
Kafka Rest : Confluent
最近拿到一个kafka rest的需求,但kafka暂时还没有提供rest api(应该是有在开发中,毕竟rest这么火),上网搜了一下,找到一个Confluent Platform,本文简单介绍一下安装。这里插一句,给大家推荐一个九尾搜索,原名叫谷粉SOSO,不想fanqiang谷歌的可以用这个。以前在外企用谷歌用习惯了,出来之后用度娘搜技术问题,那匹配度简直感人。环境声明:Ubu...
2015-07-01 17:53:11 282
带filter的hbase查询优化
问题描述hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。 问题原因直接原因是:hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需要的时间超过hbas...
2015-07-01 14:15:21 235
原创 overrided方法编译错误
问题描述:在实现类中的某一或某几个Override方法发生编译错误如下:Name clash: The method put(String) of type XXXServiceImpl has the same erasure as put(String) of type XXXService but does not override it 当去掉@Override标签...
2015-06-29 14:57:07 772
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人