Kafka教程(一)基础入门
-
1.基本概念
-
背景
-
领英->Apache
-
分布式、消息发布订阅系统
-
-
角色
-
存储系统
-
消息系统
-
流处理平台-Kafka Streaming
-
-
特点
-
高吞吐、低延迟
-
cg消费不同分区
-
-
可扩展性(热扩展)
-
持久性、可靠性
-
容错性(n-1个replica)
-
高并发(数千个客户端☆)
-
-
作用
-
削峰填谷(Peak cut)+解耦
-
流式计算:计算系统的前置缓存和输出结果缓存
-
-
-
2.安装部署
-
zookeeper集群
-
zoo.cfg
-
server.1/2/3(big02:2888:3888)
-
2888(leader监听此端口、用于zk内部通信)
-
3888(leader选举)
-
-
clientPort:2181
-
为客户端提供服务
-
-
dataDir
-
-
myid文件生成
-
data目录下创建
-
echo 1 > myid
-
对应server1、2、3
-
-
/etc/profile配置环境变量
-
配置分发与启停zkServer.sh
-
集群一键启停-ssh
-
-
kafka集群
-
server.propertis
-
log数据存储目录
-
zk集群地址2181(zk只配端口)
-
-
profile
-
配置export PATH=$PATH:$KAFKA/bin
-
source生效文件
-
-
启停与操作
-
kafka-server-start/stop.sh
-
kafka-topics.sh
-
kafka-console-producer/consumer.sh
-
-
-
-
3.运维监控
-
Kafka Eagle(EFAK)
-
配置数据库
-
ke.sh启动
-
-
Kafka Manager(CMAK)
-
JMX远程连接端口
-
RMI实际通信端口
-
sh文件内配置
-
server-start
-
run-class
-
-
启动时指定
-
JMX_PORT=9999 bin/kafka-server-start.sh
-
-
-
Kafka Offset Monitor
-
Kafka Web Console
-
scala编写的java web程序
-
类似Monitor,但更复杂
-
需要配置数据库
-
安装sbt 打包、运行run
-
-
JMX自开发管理系统
-
-
4.命令行工具
-
概述
-
启停、配置
-
生产消费、主题管理
-
性能测试perf-test
-
日志内容查看dump-log
-
优先副本选举prefered-replica-election
-
分区再分配reassign
-
-
topics
-
信息查看--describe
-
Replica
-
ISR
-
OSR
-
-
创建--create
-
基本方式
-
指定分区个数和副本数量replication-factor
-
-
手动指定分区分配
-
--replica-assignment
-
0:1:3,1:2:6(分别指两个分区的节点id)
-
-
-
修改配置--alter
-
增加分区数
-
--partitions 3
-
-
动态配置topic参数
-
--config compression=gzip
-
-
-
-
console-producer
-
console-consumer
-
指定分区--pratition
-
偏移量指定策略
-
earliest
-
latest
-
指定
-
指定偏移量--offset 2
-
-
默认:之前记录的偏移量
-
-
消费者组
-
groupId配置与查看
-
查看:consumer-groups.sh --list
-
-
数量变更触发rebalance
-
用于提高消费并行度
-
组与组之间无关系,组内分配partition消费
-
-
消费位移
-
__consumer_offset
-
指定formatter工具类解析topic内的数据
-
-
确定groupid的分区
-
groupId的哈希码对总分区数取余
-
-
-
-
configs
-
指令类型
-
变更alter
-
查看describe
-
-
支持类型
-
topic主题
-
broker
-
用户
-
客户端
-
-
命令
-
指定类型(--entity-type)
-
指定具体名(--entity-name)
-
-
配置
-
添加修改配置
-
--config compression.type=gzip
-
--add-config xxx
-
-
删除配置
-
--delete-config compression.type
-
-
-
-
以上内容整理于
幕布文档