4-kafka安装

上传Kafka压缩包

  • 将kafka_2.12-3.6.1.tgz文件上传到三台虚拟机的/opt/software目录中

解压Kafka压缩包

  • 进入/opt/software目录

    cd /opt/software
    
  • 解压缩文件到指定目录

    tar -zxvf kafka_2.12-3.6.1.tgz -C /opt/module/
    
  • 进入/opt/module目录

    cd /opt/module
    
  • 修改文件目录名称

    mv kafka_2.12-3.6.1/ kafka
    

修改配置文件

  • 进入cd /opt/module/kafka/config文件目录

    cd /opt/module/kafka/config
    
  • 修改配置文件

    vim server.properties
    
  • 输入以下内容:

点击查看代码
  #broker的全局唯一编号,每个服务节点不能重复,只能是数字。
  broker.id=1
  #broker对外暴露的IP和端口 (每个节点单独配置)
  advertised.listeners=PLAINTEXT://kafka-broker1:9092
  #kafka运行日志(数据)存放的路径,路径不需要提前创建,kafka自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
  log.dirs=/opt/module/kafka/datas
  #配置连接Zookeeper集群地址(在zk根目录下创建/kafka,方便管理)
  zookeeper.connect=kafka-broker1:2181,kafka-broker2:2181,kafka-broker3:2181/kafka

分发kafka软件

  • 进入 /opt/module目录

    cd /opt/module
    
  • 执行分发指令

    xsync kafka
    
  • 按照上面的配置文件内容,在每一个Kafka节点进行配置,请注意配置文件中第一二条的对应主机号

    vim /opt/module/kafka/config/server.properties
    

配置环境变量

  • 修改 /etc/profile.d/my_env.sh文件

    vim /etc/profile.d/my_env.sh
    
  • 添加内容

点击查看代码
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

  • 让环境变量生效

    source /etc/profile.d/my_env.sh
    
  • 分发环境变量,并让环境变量生效

    xsync /etc/profile.d/my_env.sh
    
  • 每个节点执行刷新操作

    source /etc/profile.d/my_env.sh
    

启动Kafka

  • 启动前请先启动ZooKeeper服务

  • 进入/opt/module/kafka目录

    cd /opt/module/kafka
    
  • 执行启动指令

    bin/kafka-server-start.sh -daemon config/server.properties
    
  • 执行关闭指令

    bin/kafka-server-stop.sh
    

分发软件

  • 进入/opt/module路径

    cd /opt/module
    
  • 调用分发脚本将本机得ZooKeeper安装包分发到其他两台机器

    xsync kafka
    
  • 分别将不同虚拟机/opt/module/kafka/zkData目录下myid文件进行修改

    vim /opt/module/kafka/config/server.properties
    

分发脚本可参考此博客https://i.cnblogs.com/posts/edit;postId=18145758

启停脚本

  • 进入/root/bin目录

    cd /root/bin
    
  • 创建kfk.sh脚本文件

    vim kfk.sh
    
  • 在脚本中增加内容:

点击查看代码
#!/bin/bash

case "$1" in
start)
    for i in kafka-broker1 kafka-broker2 kafka-broker3
    do
        echo " --------启动 $i Kafka-------"
        ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties" && echo "$i Kafka started" || echo "Failed to start $i Kafka"
    done
    ;;
stop)
    for i in kafka-broker1 kafka-broker2 kafka-broker3
    do
        echo " --------停止 $i Kafka-------"
        # 这里需要一个适当的方法来停止 Kafka 服务
        # ssh $i "pkill -f '/opt/module/kafka/bin/kafka.Kafka'"
        ssh $i "/path/to/your/kafka-stop-script.sh" && echo "$i Kafka stopped" || echo "Failed to stop $i Kafka"
    done
    ;;
*)
    echo "Usage: $0 {start|stop}"
    ;;
esac
  • 给文件授权

    chmod 777 kfk.sh
    
  • 脚本调用方式

    • 启动kafka

      kfk.sh start
      
    • 停止Kafka

      kfk.sh stop
      
posted @   huafeng055  阅读(12)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示