• kafka分布式安装部署


    1.集群规划
    在这里插入图片描述
    2.集群部署

    官方下载地址:http://kafka.apache.org/downloads.html

    (1)上传并解压安装包
    在这里插入图片描述

    [zhangflink@9wmwtivvjuibcd2e package]$ tar -zxvf kafka_2.12-3.3.1.tgz -C ../software/
    
    • 1

    在这里插入图片描述
    (2)修改解压后的文件名称

    [zhangflink@9wmwtivvjuibcd2e software]$ mv kafka_2.12-3.3.1/ kafka
    
    • 1

    在这里插入图片描述
    (3)进入到/opt/software/kafka目录,修改配置文件
    在这里插入图片描述

    [zhangflink@9wmwtivvjuibcd2e config]$ vim server.properties
    
    • 1

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    (3)配置系统环境变量

    [zhangflink@9wmwtivvjuibcd2e config]$ sudo vim /etc/profile
    
    • 1
    #KAFKA_HOME
    export KAFKA_HOME=/opt/software/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    刷新配置文件

    [zhangflink@9wmwtivvjuibcd2e config]$ source /etc/profile
    
    • 1

    (4)分发环境变量文件到其他节点,并source刷新配置文件

    [zhangflink@9wmwtivvjuibcd2e software]$ /home/zhangflink/bin/xsync /etc/profile
    [zhangflink@9wmwtivvjuibcd2e-0001 ~]$ source /etc/profile
    [zhangflink@9wmwtivvjuibcd2e-0002 ~]$ source /etc/profile
    
    • 1
    • 2
    • 3

    (5)分发kafka文件到其他节点

    [zhangflink@9wmwtivvjuibcd2e software]$ /home/zhangflink/bin/xsync kafka/
    
    • 1

    修改其他
    在这里插入图片描述
    在这里插入图片描述

    3.启动集群
    先启动Zookeeper集群,然后启动Kafka。

    [zhangflink@9wmwtivvjuibcd2e kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
    [zhangflink@9wmwtivvjuibcd2e-0001 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
    [zhangflink@9wmwtivvjuibcd2e-0002 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
    
    • 1
    • 2
    • 3

    查看进程
    在这里插入图片描述

    **

    如果启动后一段时间发现节点停止,日志有如下报错,说明brokerID重复导致修改即可

    **
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    修改完后再次启动日志正常,brokerID正常
    在这里插入图片描述
    在这里插入图片描述
    4.集群启停脚本
    (1)在/home/zhangflink/bin目录下创建文件kafka.sh脚本文件

    [zhangflink@9wmwtivvjuibcd2e kafka]$ sudo vim /home/zhangflink/bin/kafka.sh
    
    • 1

    编辑脚本

    #! /bin/bash
    
    case $1 in
    "start"){
        for i in flinkv1 flinkv2 flinkv3
        do
            echo " --------启动 $i Kafka-------"
            ssh $i "/opt/software/kafka/bin/kafka-server-start.sh -daemon /opt/software/kafka/config/server.properties"
        done
    };;
    "stop"){
        for i in flinkv1 flinkv2 flinkv3
        do
            echo " --------停止 $i Kafka-------"
            ssh $i "/opt/software/kafka/bin/kafka-server-stop.sh "
        done
    };;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    (2)添加执行权限

    [zhangflink@9wmwtivvjuibcd2e kafka]$ sudo chmod 777 /home/zhangflink/bin/kafka.sh
    
    • 1

    在这里插入图片描述

    如果启动脚本执行后,kafka进程没有启动,也没有报错,那么大概是以下问题

    问题原因:

    登录式Shell,采用用户名比如xxx登录,会自动加载/etc/profile

    非登录式Shell,采用ssh比如ssh 192.168.1.121登录,不会自动加载/etc/profile,会自动加载~/.bashrc

    解决方法:
    先测试 ssh [bigdata111 ip] “which java” 是否有反应,如果显示"no found",则需要配置

    执行命令
    [zhangflink@9wmwtivvjuibcd2e bin]$ ssh flinkv1 "which java"
    出现报错
    which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
    
    • 1
    • 2
    • 3
    • 4

    配置 ~/.bashrc文件

    [zhangflink@9wmwtivvjuibcd2e ~]$ cd /home/zhangflink/bin/
    [zhangflink@9wmwtivvjuibcd2e bin]$ vim ~/.bashrc
    
    • 1
    • 2

    添加配置文件

    export JAVA_HOME=/opt/software/jdk1.8.0_212
    export PATH=$PATH:$JAVA_HOME/bin
    
    • 1
    • 2

    在这里插入图片描述
    并将.bashrc文件分发到其他节点上

    [zhangflink@9wmwtivvjuibcd2e bin]$ /home/zhangflink/bin/xsync ~/.bashrc
    
    • 1

    继续测试 ssh [bigdata111 ip] “which java” 成功后重启脚本,看进程是否存在
    在这里插入图片描述
    然后再次执行脚本启动kafka,发现启动成功。

  • 相关阅读:
    Vue 同步组件和异步组件的差别
    Swift异步序列构造器AsyncStream内部定时器(Timer)无法被触发的解决
    数据链路层
    请求转发和重定向的区别
    vue-cli 输出的模板 html 文件使用条件语句
    java项目开发实例基于javaweb+mysql数据库实现的宠物领养|流浪猫狗网站含论文+开题报告
    Hudi(1.0、2.0)简介
    阿里云/腾讯云幻兽帕鲁服务器为什么更新/重启之后,服务器存档没了?
    Spark2.0 读写ES数据(scala)——elasticsearch6.5.4
    测试架构需要具备哪些能力
  • 原文地址:https://blog.csdn.net/m0_52606060/article/details/134437455