首页主机资讯kafka在ubuntu怎样部署配置

kafka在ubuntu怎样部署配置

时间2025-12-19 08:36:03发布访客分类主机资讯浏览314
导读:在 Ubuntu 上部署与配置 Kafka 的完整步骤 一 环境准备 安装 Java(推荐 OpenJDK 11,亦可使用 OpenJDK 8): 安装命令:sudo apt update && sudo apt ins...

在 Ubuntu 上部署与配置 Kafka 的完整步骤

一 环境准备

  • 安装 Java(推荐 OpenJDK 11,亦可使用 OpenJDK 8):
    • 安装命令:sudo apt update & & sudo apt install -y openjdk-11-jdk
    • 验证版本:java -version
  • 创建专用用户(可选但推荐):sudo useradd -m -s /bin/bash kafka & & sudo usermod -aG sudo kafka
  • 创建数据与日志目录(示例):sudo mkdir -p /opt/kafka/{ data,logs} & & sudo chown -R kafka:kafka /opt/kafka
  • 下载并解压 Kafka(示例版本 3.5.1):
    • wget https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz
    • tar -xzf kafka_2.13-3.5.1.tgz & & sudo mv kafka_2.13-3.5.1 /opt/kafka
  • 可选环境变量:echo 'export KAFKA_HOME=/opt/kafka' > > ~/.bashrc & & echo 'export PATH=$PATH:$KAFKA_HOME/bin' > > ~/.bashrc & & source ~/.bashrc

二 单机部署与快速验证

  • 启动 Zookeeper(Kafka 自带简易实例,开发测试足够):
    • cd /opt/kafka & & bin/zookeeper-server-start.sh config/zookeeper.properties
  • 启动 Kafka Broker(新开终端):
    • bin/kafka-server-start.sh config/server.properties
  • 创建测试 Topic
    • bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
  • 发送与消费消息:
    • 生产者:bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
    • 消费者:bin/kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning

三 集群部署要点

  • 规划与目录:
    • 每台机器规划唯一 broker.id(如 0、1、2),创建本地数据目录(如 /opt/kafka/data)。
  • 配置 Zookeeper 集群(至少 3 节点,示例):
    • 编辑 config/zookeeper.properties
      • dataDir=/opt/zookeeper/data
      • clientPort=2181
      • server.1=192.168.1.11:2888:3888
      • server.2=192.168.1.12:2888:3888
      • server.3=192.168.1.13:2888:3888
    • 在对应节点的 dataDir 下创建 myid 文件,写入各自的 server.x 编号(如节点1写入 1)。
  • 配置 Kafka Broker(每台机器不同):
    • 编辑 config/server.properties
      • broker.id=< 本机唯一ID>
      • listeners=PLAINTEXT://:< 本机IP或0.0.0.0> :9092
      • advertised.listeners=PLAINTEXT://< 本机对外IP> :9092
      • log.dirs=/opt/kafka/data
      • zookeeper.connect=192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181
  • 启动顺序与验证:
    • 先启动所有 Zookeeper,再启动各 Kafka Broker
    • 创建 Topic(示例三副本):bin/kafka-topics.sh --create --topic test --bootstrap-server < 任一BrokerIP> :9092 --partitions 3 --replication-factor 3
    • 生产与消费同上,验证跨节点连通与复制。

四 常用配置与优化

  • 核心参数(server.properties):
    • broker.id:每个 Broker 的唯一标识(集群内唯一)。
    • listeners:监听地址与端口(如 PLAINTEXT://0.0.0.0:9092)。
    • advertised.listeners:对外暴露地址(客户端实际连接地址,云服务器务必填公网或内网可达 IP)。
    • log.dirs:消息日志目录(建议使用独立磁盘)。
    • num.partitions:新建 Topic 的默认分区数(默认 1)。
    • log.retention.hours:日志保留时长(默认 168 小时)。
    • log.segment.bytes:段文件大小(默认 1GB)。
  • JVM 与内存:
    • 编辑 bin/kafka-server-start.sh,调整 KAFKA_HEAP_OPTS(如 -Xmx2G -Xms2G)以缓解内存不足。
  • 主题管理:
    • 允许删除 Topic(旧版本需显式开启):在 server.properties 增加 delete.topic.enable=true(新版本默认已支持)。

五 服务化与运维

  • 使用 systemd 管理(示例为单机,集群按需扩展):
    • Zookeeper 服务文件 /etc/systemd/system/zookeeper.service
      [Unit]
      Description=Apache Zookeeper
      After=network.target
      
      [Service]
      Type=simple
      User=kafka
      ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
      ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
      Restart=on-failure
      
      [Install]
      WantedBy=multi-user.target
      
    • Kafka 服务文件 /etc/systemd/system/kafka.service
      [Unit]
      Description=Apache Kafka
      Requires=zookeeper.service
      After=zookeeper.service
      
      [Service]
      Type=simple
      User=kafka
      ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
      ExecStop=/opt/kafka/bin/kafka-server-stop.sh
      Restart=on-failure
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用与启动:
      • sudo systemctl daemon-reload
      • sudo systemctl enable --now zookeeper kafka
  • 防火墙放行(云服务器常见):
    • sudo ufw allow 2181/tcp
    • sudo ufw allow 9092/tcp
    • sudo ufw reload
  • 常用运维命令:
    • 查看 Topic:bin/kafka-topics.sh --list --bootstrap-server localhost:9092
    • 查看消费组:bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: kafka在ubuntu怎样部署配置
本文地址: https://pptw.com/jishu/775900.html
ubuntu kafka怎样实现负载均衡 Linux Sniffer如何提高网络效率

游客 回复需填写必要信息