kafka单机安装

kafka单机安装

下载地址

  1. 官网:https://kafka.apache.org/
  2. 最新版本下载页面:https://kafka.apache.org/downloads

说明

  1. 版本选择:3.0.0,kafka_2.12-3.0.0.tgz
  2. 下载地址:https://archive.apache.org/dist/kafka/3.0.0/kafka_2.12-3.0.0.tgz

安装前准备

  1. 安装环境:linux,centos7
  2. 安装java环境,参考:linux安装java -centos安装java -linux配置java环境变量
  3. 安装zookeeper集群,参考:zookeeper集群安装

单机安装

  1. 复制下载的安装包到Linux服务器,安装包名:kafka_2.12-3.0.0.tgz

  2. 进入到安装包所在路径,将安装包解压到指定目录

    shell 复制代码
    tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
  3. 重命名,将kafka_2.12-3.0.0重命名为kafka

    shell 复制代码
    cd /opt/module
    mv kafka_2.12-3.0.0/ kafka
  4. 修改配置文件config/server.properties

    1. broker.id是唯一标识,如果是集群安装,集群内不能重复

      properties 复制代码
      broker.id=0
    2. log.dirs是kafka存储数据路径,默认路径为:/tmp/kafka-logs,调整到kafka根目录下

      properties 复制代码
      log.dirs=/opt/module/kafka/datas
    3. zookeeper.connect是zookeeper连接地址,调整为集群模式

      properties 复制代码
      zookeeper.connect=192.168.145.132:2181,192.168.145.133:2181,192.168.145.134:2181/kafka

      连接地址后面拼接/kafka节点,用来存储kafka相关的信息,避免zookeeper信息混乱

      安装zookeeper集群,参考:zookeeper集群安装

    4. listeners默认不需要配置,有缺省配置,必要时应手动指定,下面的描述信息

      properties 复制代码
      # The address the socket server listens on. It will get the value returned from 
      # java.net.InetAddress.getCanonicalHostName() if not configured.
      #   FORMAT:
      #     listeners = listener_name://host_name:port
      #   EXAMPLE:
      #     listeners = PLAINTEXT://your.host.name:9092
      #listeners=PLAINTEXT://:9092

      java.net.InetAddress.getCanonicalHostName()获取的信息可能不是我们想要的,需要手动配置

      properties 复制代码
      listeners=PLAINTEXT://192.168.145.132:9092
    5. advertised.listeners默认不需要配置,有缺省配置,必要时应手动指定,下面的描述信息

      properties 复制代码
      # Hostname and port the broker will advertise to producers and consumers. If not set, 
      # it uses the value for "listeners" if configured.  Otherwise, it will use the value
      # returned from java.net.InetAddress.getCanonicalHostName().
      #advertised.listeners=PLAINTEXT://your.host.name:9092
  5. 配置环境变量/etc/profile.d/my_env.sh

    properties 复制代码
    KAFKA_HOME=/opt/module/kafka
    PATH=$PATH:$KAFKA_HOME/bin
    export KAFKA_HOME PATH

    使配置生效

    shell 复制代码
    source /etc/profile

启动kafka服务端

  1. 先启动zookeeper集群,在每个服务器中,分别启动zookeeper

    shell 复制代码
    cd /opt/module/zookeeper-3.5.7/bin
    ./zkServer.sh start

    安装zookeeper集群,参考:zookeeper集群安装

  2. 启动kafka

    shell 复制代码
    cd /opt/module/kafka/bin
    ./kafka-server-start.sh -daemon ../config/server.properties

    启动kafka需要指定配置文件

  3. 停止kafka

    shell 复制代码
    cd /opt/module/kafka/bin
    ./kafka-server-stop.sh

    注意:先停止kafka,再停止zookeeper

相关推荐
Database_Cool_8 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
肥胖小羊17 小时前
解决企业微信 AccessToken 刷新并发冲突的分布式锁机制实践
分布式·企业微信
AI人工智能+电脑小能手18 小时前
【大白话说Java面试题 第192题】【08_Kafka篇】第8题:死信队列是什么?延时队列是什么?
java·kafka·消息队列·死信队列·延时队列
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第190题】【08_Kafka篇】第6题:消息队列有什么作用?
java·kafka·消息队列·系统设计·分布式架构
风中凌乱2 天前
kafka新版本集群的安装与部署
分布式·kafka
SLD_Allen2 天前
大规模分布式AI训练基础设施
人工智能·分布式·模型训练
abcy0712132 天前
kafka消息丢失与消息重复消费
kafka
富士康质检员张全蛋2 天前
Kafka的操作-消费的详情
分布式·kafka
昕光xg2 天前
Istio笔记04-基于Jaeger的分布式链路追踪
笔记·分布式·istio
Benjamin℡2 天前
Zookeeper(一)搭建单体和集群服务以及Zookeeper客户端
分布式·zookeeper·云原生