zoukankan      html  css  js  c++  java
  • Kafka:集群

    架构图

    Kafka集群架构图:

    image-20210220170006364

    每个Broker即一个Kafka服务实例,多个Broker构成一个Kafka集群。生产者发布的消息将保存在Broker中消费者将从Broker中拉取消息进行消费。

    为了达到高可用,Zookeeper自身也必须是集群。

    Zookeeper集群

    搭建三个节点的zookeeper伪集群。

    cp -r apache-zookeeper-3.5.9-bin zookeeper-01
    cp -r apache-zookeeper-3.5.9-bin zookeeper-02
    cp -r apache-zookeeper-3.5.9-bin zookeeper-03
    

    在三个zoo.cfg中分别配置不同的数据目录dataDir,以及不同端口号clientPort 2181,2182,2183

    myid配置:

    在每个zookeeper的data目录下创建一个myid文件,内容分别是0,1,1,这个文件就是记录每个服务器的ID

    mkdir -p /tmp/zookeeper-01/data
    vi /tmp/zookeeper-01/data/myid
    

    在每个zookeeper的zoo.cfg配置客户端访问端口(clientPort)和集群服务器IP列表

    server.服务器ID=服务器IP地址:服务器之间通信端口:服务器之间投票选举端口
    
    server.0=127.0.0.1:2888:3888
    server.1=127.0.0.1:2889:3889
    server.2=127.0.0.1:2890:3890
    

    配置完成后,分别启动三台zookeeper

    zookeeper-01/bin/zkServer.sh start
    zookeeper-02/bin/zkServer.sh start
    zookeeper-03/bin/zkServer.sh start
    

    查看三台节点的状态:

    zookeeper-01/bin/zkServer.sh status
    zookeeper-02/bin/zkServer.sh status
    zookeeper-03/bin/zkServer.sh status
    

    image-20210222093503729

    一主两从。至此,zookeeper的集群搭建完毕。

    Kafka集群

    cp -r kafka_2.13-2.7.0 kafka-01
    cp -r kafka_2.13-2.7.0 kafka-02
    cp -r kafka_2.13-2.7.0 kafka-03
    rm -rf kafka-01/logs/*
    rm -rf kafka-02/logs/*
    rm -rf kafka-03/logs/*
    

    分别修改三个kafka的配置文件server.properties(这里以其中一台kafka为例)

    vi kafka-01/config/server.properties
    
    ##broker.id必须全局唯一,分别配置为0,1,2
    broker.id=0
    #listeners这一行注释
    #listeners=PLAINTEXT://localhost:9092
    host.name=localhost
    #端口配置成不一样的
    port=9092
    #配置日志地址
    log.dirs=/opt/kafka-01/logs
    #zk集群连接地址
    zookeeper.connect=192.168.1.51:2181,192.168.1.51:2182,192.168.1.51:2183
    

    启动三台kafka

    kafka-01/bin/kafka-server-start.sh -daemon kafka-01/config/server.properties
    kafka-02/bin/kafka-server-start.sh -daemon kafka-02/config/server.properties
    kafka-03/bin/kafka-server-start.sh -daemon kafka-03/config/server.properties
    jps
    

    image-20210222100643381

    kafka集群至此搭建完毕

  • 相关阅读:
    PowerDesigner反向生成物理数据模型
    10个JavaScript的难点
    Golang数组拼接为字符串
    Golang对元素slice并去重
    golang获取开始日期和结束日期的所有日期列表
    go数组取交集截取
    golang学习笔记
    go语言time包简单使用
    windows为GO设置代理解决go get缓慢
    sublime使用笔记
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/14428670.html
Copyright © 2011-2022 走看看