• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Apache Kafka单节点极速部署指南及搭建开发单节点环境的操作步骤

    发布者: 怀卉1097 | 发布时间: 2025-8-15 00:09| 查看数: 78| 评论数: 0|帖子模式

    Apache Kafka单节点极速部署指南:10分钟搭建开发单节点环境
    1. Kafka简介:Apache Kafka是由LinkedIn开发并捐赠给Apache基金会的分布式流处理平台,现已成为实时数据管道和流应用领域的行业标准。它基于高吞吐、低延迟的设计理念,能够轻松处理每秒百万级消息传输,具备水平扩展、数据持久化、高容错等核心特性。Kafka广泛应用于日志聚合、实时监控、事件溯源、消息队列等场景,是大数据生态中连接传统数据库与流处理引擎(如Flink、Spark)的关键组件,被腾讯云、Netflix、Uber等顶级互联网企业深度应用于核心业务系统。
    复制代码
    一、环境准备与安装


    1. 安装 Java(详细步骤)
    1. # CentOS
    2. sudo yum install -y java-1.8.0-openjdk-devel
    3. # Ubuntu
    4. sudo apt update && sudo apt install -y openjdk-8-jdk
    5. # 验证安装
    6. java -version  # 应输出类似 "openjdk version 1.8.0_382"
    复制代码




    2. 下载并解压 Kafka
    1. wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
    2. tar -xzf kafka_2.13-3.6.1.tgz
    3. mv kafka_2.13-3.6.1 /opt/kafka  # 建议移动到标准化目录
    4. cd /opt/kafka
    复制代码
    如果服务器网络不佳可在
    1. Kafka
    复制代码
    官网手动下载并上传至服务器:
    下载地址:Apache Kafka




    二、配置文件详解


    1. ZooKeeper 配置
    1. config/zookeeper.properties
    复制代码
    1. # 数据存储目录(重要:生产环境需改为持久化路径,如 /var/lib/zookeeper)
    2. dataDir=/tmp/zookeeper
    3. # 客户端连接端口
    4. clientPort=2181
    5. # 最大客户端连接数(0 表示无限制)
    6. maxClientCnxns=0
    7. # 集群配置(单节点无需配置)
    8. # server.1=zk-node1:2888:3888
    9. # server.2=zk-node2:2888:3888
    复制代码


    2. Kafka Broker 配置
    1. config/server.properties
    复制代码
    1. # Broker 的唯一标识(集群中每个节点必须不同)
    2. broker.id=0
    3. # 监听地址和协议(生产环境建议用具体IP,如 PLAINTEXT://192.168.1.100:9092)
    4. listeners=PLAINTEXT://:9092
    5. # Kafka 日志存储目录(生产环境需改为持久化路径,如 /var/lib/kafka-logs)
    6. log.dirs=/tmp/kafka-logs
    7. # 每个 Topic 的默认分区数(影响并行度)
    8. num.partitions=1
    9. # ZooKeeper 连接地址(集群用逗号分隔,如 zk1:2181,zk2:2181)
    10. zookeeper.connect=localhost:2181
    11. # 其他重要参数(可选)
    12. # 日志保留时间(小时)
    13. log.retention.hours=168
    14. # 单个日志文件最大大小(字节)
    15. log.segment.bytes=1073741824
    16. # 网络线程数
    17. num.network.threads=3
    18. # IO 线程数
    19. num.io.threads=8
    复制代码


    三、配置为系统服务(Systemd)


    1. 创建 ZooKeeper 服务文件
    1. sudo vim /etc/systemd/system/zookeeper.service
    复制代码
    内容如下:
    1. [Unit]
    2. Description=Apache ZooKeeper Service
    3. After=network.target
    4. [Service]
    5. Type=simple
    6. User=kafka  # 建议创建专用用户(见下方说明)
    7. Group=kafka
    8. ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
    9. ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
    10. Restart=on-failure
    11. RestartSec=10s
    12. [Install]
    13. WantedBy=multi-user.target
    复制代码
    2. 创建 Kafka 服务文件
    1. sudo vim /etc/systemd/system/kafka.service
    复制代码
    内容如下:
    1. [Unit]
    2. Description=Apache Kafka Service
    3. After=zookeeper.service
    4. [Service]
    5. Type=simple
    6. User=kafka
    7. Group=kafka
    8. ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    9. ExecStop=/opt/kafka/bin/kafka-server-stop.sh
    10. Restart=on-failure
    11. RestartSec=10s
    12. [Install]
    13. WantedBy=multi-user.target
    复制代码
    3. 创建专用用户和目录(增强安全性)
    1. sudo useradd -r -s /bin/false kafka
    2. sudo mkdir -p /var/lib/{zookeeper,kafka-logs}
    3. sudo chown -R kafka:kafka /var/lib/{zookeeper,kafka-logs} /opt/kafka
    复制代码
    4. 修改配置文件中的持久化路径

    修改
    1. zookeeper.properties
    复制代码
    1. dataDir=/var/lib/zookeeper
    复制代码
    修改
    1. server.properties
    复制代码
    1. log.dirs=/var/lib/kafka-logs
    复制代码
    5. 启用服务
    1. sudo systemctl daemon-reload
    2. sudo systemctl enable --now zookeeper
    3. sudo systemctl enable --now kafka
    4. # 检查状态
    5. sudo systemctl status zookeeper kafka
    复制代码


    *四、验证服务


    1. 功能测试(详细命令)
    1. # 创建 Topic(明确指定分区和副本)
    2. /opt/kafka/bin/kafka-topics.sh --create \
    3.   --topic test-topic \
    4.   --bootstrap-server localhost:9092 \
    5.   --partitions 3 \
    6.   --replication-factor 1
    7. # 生产消息(输入多行消息后按 Ctrl+C 退出)
    8. /opt/kafka/bin/kafka-console-producer.sh \
    9.   --topic test-topic \
    10.   --bootstrap-server localhost:9092
    11. # 消费消息(新终端执行)
    12. /opt/kafka/bin/kafka-console-consumer.sh \
    13.   --topic test-topic \
    14.   --bootstrap-server localhost:9092 \
    15.   --from-beginning
    复制代码
    测试效果如图:




    五、关键配置项深度解析

    配置项作用说明生产环境建议值
    1. broker.id
    复制代码
    Broker 的唯一标识,集群中必须唯一数字递增(0,1,2…)
    1. listeners
    复制代码
    Broker 监听的网络地址和协议使用服务器内网IP,如
    1. PLAINTEXT://192.168.1.100:9092
    复制代码
    1. log.dirs
    复制代码
    Kafka 数据存储目录,多个目录用逗号分隔可提升性能挂载独立磁盘,如
    1. /data/kafka-logs
    复制代码
    1. zookeeper.connect
    复制代码
    ZooKeeper 集群地址,格式为
    1. host1:port1,host2:port2
    复制代码
    至少3节点集群
    1. num.partitions
    复制代码
    新建 Topic 的默认分区数(影响并行处理能力)根据业务需求设置(通常3-10)
    1. log.retention.hours
    复制代码
    消息保留时间按业务需求(如 168=7天)
    1. default.replication.factor
    复制代码
    新建 Topic 的默认副本数(高可用关键)至少2,集群节点数≥副本数
    六、故障排查指南


    1. 查看服务日志
    1. # ZooKeeper 日志
    2. journalctl -u zookeeper -f
    3. # Kafka 日志
    4. journalctl -u kafka -f
    复制代码
    2. 端口占用检查
    1. sudo netstat -tlnp | grep -E '2181|9092'
    复制代码
    3. 文件权限修复
    1. sudo chown -R kafka:kafka /var/lib/{zookeeper,kafka-logs}
    复制代码
    到此这篇关于Apache Kafka单节点极速部署指南及搭建开发单节点环境的操作步骤的文章就介绍到这了,更多相关Apache Kafka单节点部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表