数据
文章平均质量分 79
luo_shui
这个作者很懒,什么都没留下…
展开
-
数据从kafka到hive(1)
数据从kafka到hive(1)背景公司的系统是一个对外提供服务的接口,每一次调用日志都需要保存到hive中,以便后期做数据分析。每天的调用量在亿级,日志数据量100G以上,在量级还没有这么大的时候,采取的办法比较原始:直接通过log4j打印到日志文件,然后通过抽数工具同步到hive中,每天凌晨同步前一天的数据。随着量级增大,日志文件越来越大,每天抽数就要抽好几个小时,而且偶尔还由于网络问题等原因失原创 2016-09-07 12:33:56 · 16273 阅读 · 2 评论 -
数据从kafka到hive(2)
数据从kafka到hive(2)标签(空格分隔): kafka hive ETL 源码前面一篇讲到了将数据从kafka读到hdfs使用了开源工具camus,既然用到了开源的代码,免不了研究一下实现过程。所以这里分享一下阅读camus代码了解到的一些细节。前置知识在讲camus之前,需要提一下hadoop的一些知识。关于inputFormatinputFormat类的原型如下:public inter原创 2016-09-07 12:33:01 · 5268 阅读 · 0 评论 -
KAFKA源码阅读———处理ProduceRequest,FetchRequest
KafkaApis类中有个handle函数,这里是消息分发中心,根据request中的requestId采用不同的处理方式。当requestId == RequestKeys.produceKey时,通过函数handleProducerOrOffsetCommitRequest处理request。 这个函数中把ProducerRequest和OffsetCommitRequest请求都作为生产消息原创 2016-11-14 20:36:10 · 2064 阅读 · 0 评论 -
KAFKA源码阅读——ReplicaFetcherManager,同步log
在ReplicaManager.makeFollowers函数中,对于成为Follower的broker,需要执行这么一段代码:val partitionsToMakeFollowerWithLeaderAndOffset = partitionsToMakeFollower.map(partition => new TopicAndPartition(partition) ->原创 2016-11-14 20:37:06 · 1387 阅读 · 0 评论 -
Kafka源码阅读 —— KafkaController(3)
执行 kafka-topics.sh –createKafka官网给出的创建Topic的命令如下: bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 这条命令中的信息包括:zookeeper地址、分区副本数、分区数和topic名。原创 2016-11-14 22:18:33 · 611 阅读 · 0 评论 -
Kafka源码阅读 —— KafkaController(4)
在kafka 0.8以后开始提供High Availability机制,即一个broker宕机后可以不影响服务。在集群规模越来越大的今天,HA对于消息中间件至关重要。broker startup“Kafka源码阅读 —— KafkaController(1)”中提到,在broker启动时会调用KafkaServer.startup,该函数中会创建一个KafkaHealthcheck类对象,并调用Ka原创 2016-11-14 22:19:21 · 533 阅读 · 0 评论 -
Kafka源码阅读 —— KafkaController(5)
重新分配 replica当新增机器到集群中时,可能需要调整topic下partition的replica分配。kafka不会根据负载自动调整replica assignment,这时候就需要集群管理员手动调整。 下面的例子是将foo1和foo2两个topic的所有replica重新分配到broker 5和broker 6上。 首先,需要提供文件指明需要迁移哪些topic:>cat topics-原创 2016-11-14 22:20:52 · 552 阅读 · 0 评论