zoukankan      html  css  js  c++  java
  • 如何扩展Kafka的broker

    背景:因为公司收集终端盒子数据的kafka服务偶尔会倒,所以考虑使用kafka的分布式,增加broker节点,来提高系统的可用性。当然,zookeeper服务节点也是可以增加的,但不在本文范围内。

    具体步骤如下:

    1. 新加kafka服务,并启动

     如果是同一服务器,则可以拷贝新建server.properties的方式启动,具体参考官网

     如果是不同服务器,则需要下载解压同一版本的kafka,并修改zookeeper的设置,然后启动

     这里我用的是第二种方案,下面是server.properties中修改的三个配置

    broker.id=1
    listeners=PLAINTEXT://192.168.0.43:9093
    zookeeper.connect=192.168.0.20:2181

    启动命令

    nohup /opt/kafka_2.12-2.4.0/bin/kafka-server-start.sh /opt/kafka_2.12-2.4.0/config/server.properties &

    相应的停止命令

    /opt/kafka_2.12-2.4.0/bin/kafka-server-stop.sh /opt/kafka_2.12-2.4.0/config/server.properties &

    2. 重新给Topic分配副本

    1)新建json文件increase-replication-factor.json,并输入如下内容

    {"version":1,
    "partitions":[{"topic":"activeRecords","partition":0,"replicas":[0,1]}]
    }

    2)执行分配命令

    ./bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --execute

    3. 查看执行结果

    ./bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --verify

      

    可以看到,因为log文件过多,导致复制操作还在执行

    等待一段时间之后,再次查看执行结果

    最后查看该Topic状态(RelicationFactor和Replicas的变化),增加成功!

    ./bin/kafka-topics.sh --zookeeper localhost:2181 --topic activeRecords --describe

    如果尝试把节点0的kafka停掉,会发现Leader发生了变化

     

    另外,中间发生了如下的错误,原因是两边的kafka版本不同,一个是2.10,一个是2.12,在将低版本升级后,问题解决。

    Connection to 0 was disconnected before the response was read

      

    参考:

    kafka官网:http://kafka.apache.org/quickstart

    kafka中文学习网站:https://www.w3cschool.cn/apache_kafka/

    https://blog.csdn.net/lkforce/article/details/77864472 

    https://blog.csdn.net/lzufeng/article/details/81743521

  • 相关阅读:
    Appium学习笔记(一)--安装与配置
    google软件测试之道--读后笔记
    Web测试中常见分享问题
    730工作总结
    Java源码分析系列
    LeetCode 21 -- Merge Two Sorted Lists
    LeetCode 20 -- Valid Parentheses
    LeetCode 15 -- 3Sum
    LeetCode 11 -- Container With Most Water
    ASP.NET Core MVC中Hangfire及EF Core的简单使用
  • 原文地址:https://www.cnblogs.com/roostinghawk/p/12261640.html
Copyright © 2011-2022 走看看