在CentOS系统中高效配置Kafka,可以遵循以下步骤和建议:
硬件要求:
操作系统优化:
sysctl命令进行配置,例如:sysctl -w net.core.somaxconn=65535
sysctl -w net.ipv4.tcp_max_syn_backlog=65535
下载Kafka:
wget https://archive.apache.org/dist/kafka/3.2.0/kafka_2.13-3.2.0.tgz
tar -xzf kafka_2.13-3.2.0.tgz
cd kafka_2.13-3.2.0
配置文件:
server.properties:Kafka服务器的主要配置文件。zookeeper.properties:ZooKeeper的配置文件。server.properties 配置示例# Broker ID
broker.id=0
# Kafka监听地址
listeners=PLAINTEXT://:9092
# ZooKeeper连接字符串
zookeeper.connect=localhost:2181
# 日志目录
log.dirs=/tmp/kafka-logs
# 默认的分区数
default.replication.factor=3
# 最小同步副本数
min.insync.replicas=2
# 消息保留时间
log.retention.hours=168
# 压缩类型
compression.type=gzip
# 批处理大小
batch.size=16384
# linger.ms
linger.ms=5
# buffer.memory
buffer.memory=33554432
# num.partitions
num.partitions=8
# default.replication.factor
default.replication.factor=3
# min.insync.replicas
min.insync.replicas=2
zookeeper.properties 配置示例# ZooKeeper数据目录
dataDir=/tmp/zookeeper
# 客户端端口
clientPort=2181
# 最大连接数
maxClientCnxns=0
启动ZooKeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka:
bin/kafka-server-start.sh config/server.properties
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 3 --partitions 8
监控:
jmx.port=9999
日志:
log.dirs指定的目录下。log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c %x - %m%n
log.flush.interval.messages和log.flush.interval.ms。通过以上步骤和建议,可以在CentOS系统中高效地配置Kafka,以满足不同的业务需求和性能要求。