zoukankan      html  css  js  c++  java
  • Kafka 集群部署

    一、集群规划

     h136  h138  h140
     zk     zk     zk
    kafka  kafka  kafka

    二、下载

    https://kafka.apache.org/downloads.html

    kafka_2.12-2.3.0:Kafka 由 Scala 编写,2.12 为 Scala 版本,2.3.0 为 Kafka 版本

    三、部署

    Kafka 集群依赖于 ZooKeeper 集群。ZooKeeper 集群搭建参考:https://www.cnblogs.com/jhxxb/p/10744264.html

    # 解压
    tar -zxf /opt/kafka_2.12-2.3.0.tgz -C /opt/
    
    # 编辑配置
    vim /opt/kafka_2.12-2.3.0/config/server.properties

    server.properties

    这里主要配置三个:唯一 ID(必须为整数,且要保证每个节点 ID 不一样),数据路径、 Zookeeper 集群地址

    # broker 的全局唯一编号,不能重复
    broker.id=136
    # 开启删除 topic 功能,默认为标记删除
    delete.topic.enable=true
    
    # 处理网络请求的线程数量
    num.network.threads=3
    # 用来处理磁盘 IO 的现成数量
    num.io.threads=8
    # 发送套接字的缓冲区大小
    socket.send.buffer.bytes=102400
    # 接收套接字的缓冲区大小
    socket.receive.buffer.bytes=102400
    # 请求套接字的缓冲区大小
    socket.request.max.bytes=104857600
    
    # kafka 运行日志存放的路径,默认日志路径为 logs,这里和默认日志数据分开存放
    log.dirs=/opt/kafka_2.12-2.3.0/data
    
    # topic 在当前 broker 上的分区个数
    num.partitions=1
    # 用来恢复和清理 data 下数据的线程数量
    num.recovery.threads.per.data.dir=1
    # segment 文件保留的最长时间,超时将被删除
    log.retention.hours=168
    
    # 配置连接 Zookeeper 集群地址
    zookeeper.connect=h136:2181,h138:2181,h140:2181

    配置好后分发到其它机器,这里使用 Rsync,用其它工具也可以,如 SCP 等。

    rsync -av /opt/kafka_2.12-2.3.0 h138:/opt/
    rsync -av /opt/kafka_2.12-2.3.0 h140:/opt/

    最后去每台节点上修改唯一 ID。

    配置环境变量,方便启动。

    vim /etc/profile
    
    #KAFKA_HOME
    export KAFKA_HOME=/opt/kafka_2.12-2.3.0
    export PATH=$PATH:$KAFKA_HOME/bin
    
    source /etc/profile
    
    rsync -av /etc/profile h138:/etc/
    rsync -av /etc/profile h140:/etc/

    四、集群启动和关闭

    需要每台节点都去执行启动脚本,Kafka 自己不支持群起。

    # 启动
    kafka-server-start.sh -daemon /opt/kafka_2.12-2.3.0/config/server.properties
    
    # 关闭
    kafka-server-stop.sh stop

    每次都去各个节点执行比较麻烦,可以使用脚本。

    for i in h136 h138 h140
    do
      echo "========== $i =========="
      ssh $i '/opt/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.12-2.3.0/config/server.properties'
    done

    http://kafka.apache.org/documentation/#quickstart

  • 相关阅读:
    property里的参数
    property关键字的理解
    OC与C语言的几点区别
    C语言学习心得
    QQ第三方<接口>
    为什么选择Redis
    版本控制器
    url传参及重定向
    开发的四个环境
    Paxos分析
  • 原文地址:https://www.cnblogs.com/jhxxb/p/11497606.html
Copyright © 2011-2022 走看看