文档章节

Kafka Get Started

Yulong_
 Yulong_
发布于 2017/04/21 12:15
字数 860
阅读 36
收藏 0

简介

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。

特点

分布式消息系统 基于发布/订阅模式 可分区/复制 容错 高吞吐 低延迟 支持水平扩展

基本概念

  • Broker:Kafka集群包含一个或多个节点,一般称节点为broker。
  • Topic:客户端通过Topic发布/消费数据,物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上,但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处。
  • Partition:一个Topic包含一个或多个Partition。
  • Producer:消息发布进程
  • Consumer:消息消费进程
  • Consumer Group:每个 Consumer 属于一个特定的 Consumer Group Kafka 以
  • Group 为订阅单位

kafka集群几乎不需要维护任何consumer和producer状态信息,这些信息有zookeeper保存;因此producer和consumer的客户端实现非常轻量级,它们可以随意离开,而不会对集群造成额外的影响.

安装

cd /opt/beh/core
tar zxf kafka_2.10-0.8.2.2.tar.gz
ln -s kafka_2.10-0.8.2.2 kafka
mkdir -p /opt/beh/data/kafka       #kafka数据日志存储目录
mkdir -p /opt/beh/logs/kafka       #kafka服务日志存储目录

配置

cd /opt/beh/core/kafka/conf

修改服务参数文件server.properties

log.dirs=/opt/beh/data/kafka  #kafka数据日志
zookeeper地址
zookeeper.connect=localhost:2181/kafkazk
delete.topic.enable=true

修改日志参数文件log4j.properties

kafka.logs.dir=/opt/beh/logs/kafka  #kafka服务日志

服务启停

启动前台运行

bin/kafka-server-start.sh config/server.properties

启动后台运行

bin/kafka-server-start.sh -daemon config/server.properties

关闭 bin/kafka-server-stop.sh

topic管理

topic操作

创建topic:test

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

显示所有的topic

bin/kafka-topics.sh --list --zookeeper localhost:2181

删除topic:test

bin/kafka-topics.sh --delete --topic test --zookeeper localhost:2181

描述topic:test

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

测试程序producer

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
my test message 1
my test message 2

测试程序consumer

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic test

查询topic的消费情况

bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --topic test --group group1
Group           Topic                          Pid Offset          logSize         Lag             Owner
group1          test                           0   11              11              0               group1_breath-1492743300338-779e9fdb-0

topic offset操作

查询topic的offset的范围

用下面命令可以查询到topic:test broker:localhost:9092的offset的最小值:

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 -topic test --time -2
test:0:0

用下面命令可以查询到topic:test broker:localhost:9092的offset的最大值:

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 -topic test --time -1
test:0:11

从上面的输出可以看出topic:test只有一个partition:0 offset范围为:[0,11]

设置topic的offset

用下面命令可以修改consumergroup:group1 topic:test partition:0的offset为5:

zkCli.sh --server localhost:2181
set /consumers/group1/offsets/test/0 5

重启应用消费将从offset:5开始

© 著作权归作者所有

上一篇: kafka sink
Yulong_
粉丝 10
博文 145
码字总数 253510
作品 0
朝阳
部门经理
私信 提问
[喵咪KafKa(2)]单机模式运行KafKa

在上节我们介绍完KafKa之后,今天我们来搭建KafKa三种模式(单机模式,伪集群,集群)中的一种单机模式的搭建,在正常的使用中我们一般吧单机模式作为开发环境的标配,今天就来和喵咪一同搭建一个K...

喵了_个咪
2016/09/12
280
0
Building Microservices With Netflix OSS, Apache Kafka, and Spring Boot - Part 2

After Part 1 of this series, here is what comes next: Although we are not going to use the distributed features of Kafka for the test, it is still a distributed system and is bu......

Iskren Ivanov
2017/12/11
0
0
reactor-kafka小试牛刀

序 本文主要展示一下如何使用reactor-kafka maven 准备 启动zookeeper 启动kafka 创建topic 实例 producer consumer 小结 reactor-kafka对kafka的api进行封装,改造为reactive streams模式,...

go4it
2018/10/05
24
0
Jusfrw/Chuye.Kafka

Kafka driver implementation for dotnet Based on kafka 0.9 netstandard1.6 and net45 supported throttled asynchronous producer advanced consumer Rebalance bashed on Kafka Client-s......

Jusfrw
2016/03/04
0
0
ELK-filebeat收集日志到Kafka,并转存ES

场景需求 在有些不需要安装java环境的服务器如Nginx,php等为主的web 应用可以使用filebeat来对这些服务日志进行收集。Filebeat用于收集本地文件的日志数据。 它作为服务器上的代理安装,Fil...

酥心糖
2017/12/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部