• Kafka笔记2(安装)


    1.安装java

    2.安装zookeeper

    3.安装kafka Broker

    测试:发布消息

    测试:读取消息

    4,broker配置

      常规配置:

        broker.id: 默认0  每个broker都需要一个标识符,使用broker.id标识,在kafka集群里必须唯一

        port 默认监听9092端口,使用1024以下的端口,需要root权限启动Kafka,不建议

        zookeeper.connect  用于保存broker元数据的zookeeper地址,格式: hostname:port/path

            hostname zookeeper服务器的IP地址或机器名

            port zookeeper客户端连接端口

            /path   可选的zookeeper路径,作为kafka集群chroot环境,默认根路径

        log.dirs 存放Kafka所有消息的日志片段的路径      注意:broker会向拥有最少数目分区的路径新增分区,而不是往最小磁盘空间的路径新增分区

        num.recovery.threads.per.data.dir 

           对于如下3种情况,Kafka使用可配置的线程池来处理日志片段

            服务器正常启动,用于打开每个分区的日志片段

            服务器崩溃后重启,用于检查和截短每个分区的日志片段

            服务器正常关闭,用于关闭日志片段

          默认每个日志目录(log.dirs)只使用一个线程

          如果num.recovery.threads.per.data.dir=8,log.dir指定了3个路径,则一共需要24个线程

        auto.create.topic.enable

          默认情况下Kafka会在如下情形自动创建主题:

            当一个生产者开始往主题写入消息时

            当一个消费者开始从主题读取消息时

            当任意一个客户端向主题发送元数据请求时

        主题的默认配置参数:

          num.partitions 参数指定新创建主题将包含多少分区,默认1 注意:可以增加主题分区的个数,但是不可以减少,若要少于该参数值,只能手动创建主题

            分区的参考计算:每秒从主题读取/写入1G数据,每个消费者处理50M数据,那么分区的个数> 1G/50M=20个

            根据经验,分区的大小限制在25GB以内较理想

          log.retention.ms  指定Kafka数据可以保留多长时间 ,除此之外还有参数log.retention.minutes   log.retention.hour; kafka优先使用具有最小值的参数

          log.retention.bytes  决定Kafka每个分区数据过期的字节数阈值

          log.segment.bytes  日志片段关闭的阈值   当分区上的日志片段到达log.segment.bytes指定的上限时,当前日志片段就会关闭,开启新的日志片段,同时关闭的日志片段也会开始等待过期

          log.segment.ms  指定多长时间后日志片段开始关闭

          message.max.bytes  限制单个消息大小 默认1M,该参数是指压缩后消息的大小

             消费者客户端设置的fetch.message.max.bytes必须与服务端设置的消息大小协调;若fetch.message.max.bytes < message.max.bytes 那么消费者无法读取比较大的消息,导致出现消费者被阻塞情形,在为集群broker设置replica.fetch.max.bytes参数时,也遵循同样原则

    硬件上的选择:

      磁盘吞吐量:

        生产者客户端性能受到服务器端磁盘吞吐量影响

      磁盘容量

      内存  

        服务器端可用的内存容量是影响客户端性能的主要因素,磁盘性能影响生产者,内存影响消费者

        Kafka会使用页面缓存,如果和其他应用共享页面缓存会降低Kafka消费者的性能

      网络

        网络吞吐量决定Kafka能处理的最大数据流量

      CPU

        Kafka对数据的压缩和解压缩会用到计算能力

    KafKa集群:  可以实现负载均衡/避免单点故障

    需要多少broker:  集群需要保留10T数据,每个broker可以保存2T,则至少需要5个broker,若果开启复制,则还需要扩大一倍即10个

     新加一个broker至集群种,修改2个参数: 1)配置相同的zookeeper.connect   2) 设置唯一的broker.id

  • 相关阅读:
    attr系列
    面对对象中的反射
    Python中的内置函数(比较重要的)
    过滤莫文件夹下所有文件和子文件夹中的文件,并把路径打印出-----面对过程的编程
    python中字典的几个方法介绍
    python中字符串的几个方法介绍
    python中列表与元组
    win7上python2.7连接mysql数据库
    练习-三级菜单
    练习-模拟商城购物车
  • 原文地址:https://www.cnblogs.com/zy1234567/p/10339730.html
Copyright © 2020-2023  润新知