• 【kafka】二、kafka安装


    kafka安装

    集群方式安装,非单机模式

    下载kafka

    download kafka (apache.org)

    本次使用版本是:kafka_2.11-0.11.0.0.tgz

    准备工作

    由于本次使用的kafka版本低,所以还需要准备zookeeper集群环境。

    zookeeper集群搭建

    三台kafka服务器:

    • 192.168.171.132
    • 192.168.171.133
    • 192.168.171.134

    下载好的安装包自行上传到服务器,上传路径自己指定

    搭建kafka集群
    解压安装包
    cd /opt
    tar -zxvf kafka_2.11-0.11.0.0.tgz
    
    • 1
    • 2

    可以修改一下解压目录名称,不修改也可以

    mv kafka_2.11-0.11.0.0 kafka
    
    • 1
    创建logs目录

    进入到kafka目录下,创建logs文件夹

    cd /opt/kafka
    
    mkdir logs
    
    • 1
    • 2
    • 3
    修改配置文件
    cd /opt/kafka/config
    
    # 编辑server.properties
    vim server.properties
    
    • 1
    • 2
    • 3
    • 4

    找到以下配置修改,其余配置可以默认不动:

    #broker 的全局唯一编号,不能重复,另外的服务器可使用1 2
    broker.id=0
    #删除 topic 功能使能
    delete.topic.enable=true 
    #kafka 运行数据日志存放的路径,上面步骤创建的logs文件夹
    log.dirs=/opt/kafka/logs
    # 配置zookeeper集群
    zookeeper.connect=192.168.171.132:2181,192.168.171.133:2181,192.168.171.134:2181
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    环境变量配置
    vim /etc/profile
    
    • 1

    添加配置:

    #set kafka
    export KAFKA_HOME=/opt/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    
    • 1
    • 2
    • 3
    #使环境配置生效
    source /etc/profile
    
    • 1
    • 2
    分发安装包

    使用命令:

    xsync kafka/
    
    • 1

    注意:分发之后记得配置其他机器的环境变量

    注:broker.id 不得重复

    或者重复上面的操作步骤在另外的服务器上再次操作一遍。

    启动kafka集群

    依次进入到三台服务器的bin目录,执行:

    kafka-server-start.sh -daemon ../config/server.properties
    
    • 1

    -daemon以进程式的方式启动kafka,不然启动的窗口是阻塞式的,不方便操作

    关闭kafka集群
    kafka-server-stop.sh stop
    
    • 1

    关闭的时候,可能会有点延迟,ps查看进程可能还会存在kafka的信息,稍等一会后再查看即可。

    群起kafka脚本

    本脚本服务器ip等信息是根据上面安装的环境来的,实际中根据自己的环境替换配置

    1.首先需要设置每个服务器的hostname,如:

    vim /etc/sysconfig/network
    
    • 1
    hostname=kafka1
    
    • 1

    然后另外两台服务器:设置为kafka2、kafka3。设置完成后重启服务器。

    hostname=kafka2
    hostname=kafka3
    
    • 1
    • 2

    再用命令修改下主机名:

    hostnamectl set-hostname kafka1
    hostnamectl set-hostname kafka2
    hostnamectl set-hostname kafka3
    
    • 1
    • 2
    • 3

    2.将ip与hostname写的hosts文件

    vim /etc/hosts
    
    • 1
    192.168.171.132 kafka1
    
    • 1

    另外两台服务器同样操作一遍。

    192.168.171.133 kafka2
    
    192.168.171.134 kafka3
    
    • 1
    • 2
    • 3

    3.完成后重启网卡

    systemctl restart network
    
    • 1

    4.在另外一台服务器(运维服务器)上编写脚本,不是这三台kafka服务器

    #!/bin/bash
    case $1 in 
    "start"){
    	for i in kafka1 kafka2 kafka3
    	do
    		ssh $i@root 'source /etc/profile && /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties'
    		echo "********************$i kafka start success************************"
    	done
    };;
    "stop"){
    	for i in kafka1 kafka2 kafka3
    	do
    	    ssh $i@root 'source /etc/profile && /opt/kafka/bin/kafka-server-stop.sh'
            echo "********************$i kafka stop success************************"
        done
    
    };;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    然后,在这台服务器的hosts文件中加入:

    不然上面脚本里面进行ssh时,无法识别hostname

    192.168.171.132 kafka1
    192.168.171.133 kafka2
    192.168.171.134 kafka3
    
    • 1
    • 2
    • 3

    后面再重新整下这个群起脚本,步骤可能有问题

  • 相关阅读:
    Pytorch - 弹性训练原理
    2057. 值相等的最小索引
    IP协议介绍
    恒合仓库 - 角色管理、启动或禁用角色、为角色分配权限
    Linux文件管理与用户管理
    【前端】Layui小功能收集整理
    【数据结构与算法】带头双向循环链表
    Advanced .Net Debugging 7:托管堆与垃圾收集
    Modelsim的仿真之路(Memory小技能)
    安装教程之Windows 11安装Linux子系统并运行Linux GUI应用
  • 原文地址:https://blog.csdn.net/sinat_33151213/article/details/128044148