标签:一个 actor 写入 情况 拉取 partition current 文件 使用
kafka副本(replication)包含两种类型:leader副本,follower副本
leader副本负责读写请求,follower副本负责同步leader副本消息,通过副本选举实现故障转移。
虽然有了副本机制可以保证数据的持久化或消息不丢失,但没有解决...极客时间版权所有: https://time.geekbang.org/column/article/99318
kafka使用消息日志(log)来保存数据,一个日志就是磁盘上一个只能追加写消息的物理文件。因为只能追加写入,故避免了缓慢的随机I/O操作,改为性能较好的顺序I/O写操作,这也实现了kafka高吞吐特性的一个重要手段。另外kafka还使用了日志段机制,在kafka底层,一个日志又进一步细分为多个日志段,消息被追加写到当前最新的日志段中,当写满一个日志后,kafka会自动切分出一个新的日志段,并将老的日志段封存起来。kafka在后台还有定时任务会定期检查老的日志段是否能够被删除,从而实现回收磁盘空间的目的。
笔记:
log.dir: 补充第一个参数,只能设置单个路径
zookeeper.connect: zookeeper 地址。格式zk1:2181,zk2:2181,zk3:2181 。 如果多kafka集群使用同一个zookeeper集群,则通过chroot来区别。现假如有2个kafka集群,分别为kafka01,kafka02. 格式为zk1:2181,zk2:2181,zk32181/kafka01和zk1:2181,zk2:2181,zk32181/kafka02
advertised.listeners:
auto.create.topics.enable: 是否允许自动创建topic。生产环境最好设置成不允许自动创建topic。否则会有很多稀奇古怪的topic被自动创建。
unclean.leader.election.enable: 是否允许unclean leader 选举。建议设置成false。如果设置成false,导致的后果是分区不可用。反之,如果设置成true,可能造成的结果就是丢数据。
auto.leader.rebalance.enable: 是否允许定期选举。
log.retention.{hour|minutes|ms}: 都是控制一条消息被保存多长时间。从优先级上来说ms设置最高,minutes次之,hour最低。一般情况下设置为hour级别多一些。比如log.retention.hour=168
表示保存7天数据,自动删除7天前的数据。
log.retention.bytes: 表示指定broker为消息保存的总磁盘大小。默认为-1,表示不控制大小
message.max.bytes: 控制broker能够接受的最大消息大小。默认为1000012,不到1MB,建议调大该值。
配置多路径的优势
提升读写性能:比起单块硬盘,多块硬盘同时读写数据有更高的吞吐量。
能够实现故障转移:即Failover。这是kafka1.1版本引入的强大功能。之前版本,kafka broker使用的任何一块硬盘挂掉,整个broker进程都会关闭。1.1之后可以将坏掉的磁盘上的数据自动转移到其他正常磁盘。而且broker能自动
下面为创建一个topic名为test,设置单分区,单副本,保留半年,消息最大为5M。
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test --partitions 1 --replication-factor 1 --config retention.ms=15552000000 --config max.message.bytes=5242880
$ export KAFKA_HEAP_OPTS=--Xms6g --Xmx6g
$ export KAFKA_JVM_PERFORMANCE_OPTS= -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true
$ bin/kafka-server-start.sh config/server.properties
unlimit -n 100000 #增大文件描述符限制
文件系统选择 xfs
标签:一个 actor 写入 情况 拉取 partition current 文件 使用
原文地址:https://www.cnblogs.com/guoew/p/11701426.html