kafka安装以及参数

yaoyin / 2023-08-30 / 原文

kafka 

安装JDK

yum install -y java-1.8.0-openjdk.x86_64

查看版本

java  -version

kafka是分布式的,需要多台机器,并且保证机器之间是免密登录同时需要用zookeeper集群负责管理。

1、kafka版本选择,从官网下载即可,我这使用的是kafka_2.12-2.70.tgz

2、brokers 节点分配,注意一定是奇数台节点

3、解压

tar -zxvf  /home/kafka_2.12-2.7.0.tgz

4、配置server.properties

vim /home/kafka_2.12-2.70.tgz/config/server.properties

修改如下

 broker.id=0                    #注意:这里要唯一的Integer(整数)类型,集群模式下ID必须唯一,且永恒不变。每启动一个kafka server加入kafka集群该id只能+1,否则会报ID不在指定范围的错               
 listeners=PLAINTEXT://192.168.15.180:9092   #kafka启动端口,如果同一台机器启动多个kafka Server,则需要改此端口号。注意:如果这里localhost不写明IP(PLAINEXT://:9092)则默认使用内网IP
 num.network.threads=3   #处理网络请求的最大线程数
 num.io.threads=8        #处理磁盘I/O的线程数
background.threads=4 #一些后台线程数
queued.max.requests=500 #等待IO线程处理的请求队列最大数 socket.send.buffer.bytes=102400 #socket的发送缓冲区,默认100KB socket.receive.buffer.bytes=102400 #socket的接收缓冲区,默认100KB socket.request.max.bytes=104857600 #socket请求的最大字数,默认100MB

二·Topic相关配置

 num.partitions=2  #每个topic的分区个数,更多的partition会产生更多的segment file
 auto.create.topics.enable=true #是否允许自动创建Topic,若是false,就需要通过命令创建topic
 default.replication.factor=1 一个topic默认分区的replication个数,不能大于集群broker的个数。
 message.max.bytes=1000000  #消息体的最大大小,单位是字节

 

三·zookeeper相关配置

 zookeeper.connect=debug01:2181,debug02:2181,debug03:2181   #zookeeper连接设置。如果有多个使用逗号分割
 zookeeper.connection.timeout.ms=1000000   #连接ZK的超时时间
 zookeeper.sync.time.ms =2000 #zookeeper集群中leader和follower之间的同步时间

  

四·日志相关配置

 log.ckeaup.policy = delete  #日志清理策略(delete|compact)
 log.flush.scheduler.interval.ms = 3000 #检查是否需要将日志flush的时间间隔
 log.retention.hours= 168 #日志保存时间(hours|minutes),默认为7天(168小时)
 log.retention.bytes=1073741824 #每个分区的最大文件大小,默认1GB
 log.segment.bytes=1073741824  #控制日志segment文件的大小,超出该大小则追加到一个新的日志segment文件中(-1 表示没有限制)
log.roll.hours = 24*7 #当达到下面时间,会强制新建一个segment文件
log.retention.check.interval.ms = 300000 #日志片段文件的检查周期,查看它们是否达到了删除策略的

 

创建启脚本

#!/bin/sh
#启动zookeeper
/home/kafka_2.12-2.7.0/bin/zookeeper-server-start.sh /home/kafka_2.12-2.7.0/config/zookeeper.properties &

sleep 3 #等3秒后执行

#启动kafka
/home/kafka_2.12-2.7.0/bin/kafka-server-start.sh /home/kafka_2.12-2.7.0/config/server.properties &

创建关闭脚本

#!/bin/sh
#启动zookeeper
/home/kafka_2.12-2.7.0/bin/zookeeper-server-stop.sh /home/kafka_2.12-2.7.0/config/zookeeper.properties &

sleep 3 #等3秒后执行

#启动kafka
/home/kafka_2.12-2.7.0/bin/kafka-server-stop.sh /home/kafka_2.12-2.7.0/config/server.properties &