kafka学习笔记2-kafka安装及配置
上一篇文章里我们介绍了kafka是什么以及它所具备的优势。本篇我们介绍kafka的安装以及基本配置。
kafka的安装需要下面三个组件:
- jdk kafka是用java进行开发的,需要安装jdk,提供运行环境。也因此kafka可以部署在windows, mac,linux平台上。但一般还是部署在linux平台。
- zookeeper zookeeper用于为kafka集群提供数据一致性服务,同时它保存着kafka集群的元数据信息(包括broker和主题元数据)以及消费者信息(消费者元数据分区偏移量)
kafka集群配置步骤:- 安装zookeeper
zookeeper既可以采用单机安装方式也可以采用集群安装方式,具体安装方法可以自行google- 安装kafka Broker
从kafka官网下载最新版本的kafka安装文件,解压后运行kafka-server-start.sh即可启动kafka服务。Broker的部署同样可以分为单机和集群部署,但在生产环境中都是采用集群部署方式,kafka的主要优势都是通过集群部署才能够体现出来。
kafka的配置分为以下几类:
- broker.id:为每个broker分配一个唯一的标识符。
- port 用来配置kafka的监听监听端口,默认端口是9092
- zookeeper.connect 用来设置连接的zookeeper集群,还可以指定在集群中的chroot路径
- log.dirs
kafka把所有消息都保存在磁盘上,存在这些日志片段的目录是通过log.dirs指定的。- num.recovery.threads.per.data.dir
用于指定,启动、关闭、重启这三种情况下用于打开和关闭日志片段的线程数。- auto.create.topics.enable
kafka默认情况下会自动创建topics,但这种情况时非预期的。可以通过关闭该配置强制kafka先创建topics 再传递消息。
topic的配置:- numpartitions 用于配置主题的分区数量,便于进行负载均衡。
- log.retention.ms 用来决定数据可以被保存多长时间。根据日志片段最后修改时间来进行判断
- log.retention.types 通过保留的消息字节数来判断消息是否过期。
- log.segment.bytes 用于设置单个日志片段大小,当消息超过当前日志片段大小时,该片段会关闭并生成一个新的片段。
- log.segment.ms 用于指定日志片段的关闭时间。
- mesage.max.bytes 用来限制单个消息的大小。默认时1MB。该大小指的是消息压缩后的大小。