《深入理解kafka核心设计与实践原理》 读书笔记
基本概念
producer
broker
consumer
topic
partition
segment
ISR-In-Sync Replica
OSR
HW
生产者
producer push模式
消费者
consumer/consumerGroup
主要参数配置
- 生产者
- zk
- request.required.acks=-1(all),
- producer.type=sync 同步发送,数据可靠性保证
- 消费者
- zk
- broker
- log.dirs:指定了broker需要使用的若干个文件目录路径
- log.dir:单个路径,补充上一个参数
- topic
- auto.create.topics.enable:是否允许自动创建topic
- unclean.leader.election.enable:是否允许Unclean Leader选举
- auto.leader.rebalance.enable:是否允许定期进行Leader选举
- log.retention.{hour|minutes|ms}:控制一条消息数据被保存多长时间,优先级ms最高、minutes次之、hour最低
- log.retention.bytes:指定broker为消息保存的总磁盘容量大小,默认值为-1,保存多少数据都可以
- message.max.bytes:控制broker能够接收的最大消息的大小,默认1000012,不到1KB,实际场景中需要设置一个比较大的值
- jvm
- KAFKA_HEAP_OPTS:指定堆大小
- KAFKA_JVM_PREFORMANCE_OPTS:指定GC参数
-Xmx8G -Xms8G -server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true -Xloggc:/apps/service/kafka/logs/kafkaServer-gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9999
- os
- ulimit
- swap
- flush-2-disk
主题、分区
日志存储
可靠性
监控
常用监控指标
高级应用
–
参考资料
kafka原理和实践-vivo
kafka-design-apache
kafka-design-confluent
Netflix keystone介绍:
Netflix keystone
Netflix keystone
hadoop-ecosystem
AnatomyMapReduceJob
dolphinscheduler