温馨提示×

centos kafka配置关键步骤

小樊
58
2025-09-17 21:43:14
栏目: 智能运维

CentOS环境下Kafka配置关键步骤

1. 安装前置依赖

Kafka运行需依赖Java环境和Zookeeper集群(Kafka 3.3+版本可脱离Zookeeper,但传统部署仍需):

  • 安装Java 8+:执行sudo yum install java-1.8.0-openjdk-devel -y,验证安装java -version(需显示Java版本信息)。
  • 安装Zookeeper:若未部署Zookeeper集群,需先安装(Kafka自带的Zookeeper可用于测试,生产环境建议单独部署)。

2. 下载并解压Kafka

从Apache官网下载稳定版本(如3.5.2),解压至指定目录:

wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -zxvf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /opt/kafka  # 移动至/opt目录便于管理

3. 配置Kafka核心参数

编辑/opt/kafka/config/server.properties(Kafka主配置文件),调整以下关键参数:

  • Broker唯一标识broker.id=0(集群中每个Broker的ID需唯一,生产环境建议用主机名或IP生成)。
  • 监听配置
    • listeners=PLAINTEXT://0.0.0.0:9092(监听所有网卡,生产环境建议指定具体IP)。
    • advertised.listeners=PLAINTEXT://your_server_ip:9092(客户端访问的地址,需替换为服务器公网/内网IP)。
  • 数据存储路径log.dirs=/opt/kafka/kafka-logs(日志存储目录,需提前创建mkdir -p /opt/kafka/kafka-logs)。
  • Zookeeper连接zookeeper.connect=localhost:2181(Zookeeper集群地址,多节点用逗号分隔,如host1:2181,host2:2181)。
  • 分区与副本
    • num.partitions=3(默认分区数,根据业务吞吐量调整,建议≥3)。
    • default.replication.factor=3(默认副本因子,生产环境建议≥3以保证高可用)。
  • 日志保留策略log.retention.hours=168(日志保留7天,单位小时,可根据存储空间调整)。

4. 配置环境变量(可选但推荐)

将Kafka的bin目录添加至系统PATH,方便全局调用命令:

echo 'export PATH=$PATH:/opt/kafka/bin' >> ~/.bashrc
source ~/.bashrc  # 使配置生效

5. 启动Kafka服务

  • 前台启动(测试用):cd /opt/kafka && bin/kafka-server-start.sh config/server.properties
  • 后台启动(生产用):nohup bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 &

6. 验证配置有效性

  • 创建Topicbin/kafka-topics.sh --create --topic test_topic --partitions 3 --replication-factor 1 --bootstrap-server localhost:9092(创建名为test_topic的Topic,3个分区,1个副本)。
  • 发送消息bin/kafka-console-producer.sh --topic test_topic --bootstrap-server localhost:9092(进入生产者模式,输入消息)。
  • 消费消息bin/kafka-console-consumer.sh --topic test_topic --from-beginning --bootstrap-server localhost:9092(从Topic开头消费消息,验证消息收发是否正常)。

7. 可选优化步骤

  • 防火墙放通端口firewall-cmd --zone=public --add-port=9092/tcp --permanentfirewall-cmd --reload(放通Kafka默认端口9092)。
  • 调整JVM参数:修改kafka-run-class.sh中的KAFKA_HEAP_OPTS(如export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G"),提升Broker内存性能。
  • 开启日志压缩:在server.properties中添加log.cleaner.enable=true,减少日志存储占用。

0