• 中间件 | Kafka - [安装 & 配置 & 启动]


    §1 官网地址 & 下载

    kafka

    在这里插入图片描述

    kafka 的服务端代码是 Scala 语言编写,上图红框处版本号是语言版本

    §2 解压 & 安装

    cd /opt/kafka
    tar -zxvf kafka_xx-xx.tgz

    安装后目录

    • bin:命令
    • config:配置
    • libs:库
    • LICENSE
    • licenses
    • NOTICE
    • site-docs

    §3 配置

    server.properties

    broker.id=0
     
    host.name=192.168.X.XXX
    port=9092
     
    num.network.threads=3
    num.io.threads=8
    log.dirs=XXX
    socket.send.buffer.bytes=102400
    socket.receive.buffer.bytes=102400
    socket.request.max.bytes=104857600
    num.partitions=64
    log.retention.hours=72
    message.max.byte=5242880
    default.replication.factor=2
    replica.fetch.max.bytes=5242880
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=300000
    log.cleaner.enable=false
    offsets.topic.replication.factor=3
    zookeeper.connect=192.168.X.XXX:2181,192.168.X.XXX:2181,192.168.X.XXX:2181
    auto.leader.rebalance.enable=true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    配置项详解

    broker.id=0
    配置 broker 的唯一标志,严禁重复

    log.dirs=/opt/kafka-logs
    配置日志存储路径

    zookeeper.connect=192.168.3.10:2181,192.168.3.11:2181,192.168.3.12:2181/zookeeper_node_name
    配置 zookeeper 各个主机 ip、端口
    其中的 /zookeeper_node_name 用于配置一个 zookeeper 节点,防止 kafka 的注册信息被打散在整个zookeeper 文件系统中,方便删除

    producer.properties
    配置项详解
    batch.size
    配置发送端消息批次的大小,默认 16K

    linger.ms
    配置消息发送时的最大等待时间,默认 0ms,即无延时

    acks

    • 0:不需要应答
    • 1:leader 接受到消息后应答
    • -1/all:二者等价,leader 和 ISR 队列中所有节点接收消息完毕后应答

    producer.properties
    配置项详解

    配置环境变量
    vim /etc/profile.d/my_env.sh

    # KAFKA_HOME
    export KAFKA_HOME=/opt/module/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    
    • 1
    • 2
    • 3

    source /etc/profile

    §4 启动/停止

    指令启动

    • 启动 Zookeeper
      cd /opt/zookeeper
      ./zkServer.sh start
    • 启动 Kafka
      cd /opt/kafka
      bin/kafka-server-start.sh -daemon config/server.properties
      启动时,需要配置刚修改的 server.properties 文件以覆盖默认配置

    脚本启动

    #!/bin/bash
    case $1 in
    "start")
    	for i in ip1 ip2 ip3
    	do
    		echo "kafka ip1 starting"
    		ssh $i "/opt/zookeeperbin/kafka-server-start.sh -daemon /opt/zookeeperbin/config/server.properties"
    	done
    ;;
    "stop")
    	for i in ip1 ip2 ip3
    	do 
    		echo "kafka ip1 stoping"
    		ssh $i "/opt/zookeeperbin/kafka-server-stop.sh"
    	done
    ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    计算机毕业设计ssm+vue基本微信小程序的个人健康管理系统
    Sosyal Lig Arena VoxEdit 比赛
    webrtc学习--了解webrtc服务器
    Android NDK篇-C++之 SLT 中的容器学习与函数谓词
    centos环境上:k8s 简单安装教程
    工作中的综合能力
    为什么当下MES如此火热,各大制造业工厂都在推行?
    Java JDK安装与配置
    【无标题】
    STM32 10个工程篇:1.IAP远程升级(六)
  • 原文地址:https://blog.csdn.net/ZEUS00456/article/details/127702904