Kafka教程(一)基础入门:基本概念、安装部署、运维监控、命令行使用

Kafka教程(一)基础入门
  •  
    1.基本概念
    •  
      背景
      •  
        领英->Apache
      •  
        分布式、消息发布订阅系统
    •  
      角色
      •  
        存储系统
      •  
        消息系统
      •  
        流处理平台-Kafka Streaming
    •  
      特点
      •  
        高吞吐、低延迟
        •  
          cg消费不同分区
      •  
        可扩展性(热扩展)
      •  
        持久性、可靠性
      •  
        容错性(n-1个replica)
      •  
        高并发(数千个客户端☆)
    •  
      作用
      •  
        削峰填谷(Peak cut)+解耦
      •  
        流式计算:计算系统的前置缓存和输出结果缓存
  •  
    2.安装部署
    •  
      zookeeper集群
      •  
        zoo.cfg
        •  
          server.1/2/3(big02:2888:3888)
          •  
            2888(leader监听此端口、用于zk内部通信)
          •  
            3888(leader选举)
        •  
          clientPort:2181
          •  
            为客户端提供服务
        •  
          dataDir
      •  
        myid文件生成
        •  
          data目录下创建
        •  
          echo 1 > myid
        •  
          对应server1、2、3
      •  
        /etc/profile配置环境变量
      •  
        配置分发与启停zkServer.sh
      •  
        集群一键启停-ssh
    •  
      kafka集群
      •  
        server.propertis
        •  
          log数据存储目录
        •  
          zk集群地址2181(zk只配端口)
      •  
        profile
        •  
          配置export PATH=$PATH:$KAFKA/bin
        •  
          source生效文件
      •  
        启停与操作
        •  
          kafka-server-start/stop.sh
        •  
          kafka-topics.sh
        •  
          kafka-console-producer/consumer.sh
  •  
    3.运维监控
    •  
      Kafka Eagle(EFAK)
      •  
        配置数据库
      •  
        ke.sh启动
    •  
      Kafka Manager(CMAK)
      •  
        JMX远程连接端口
      •  
        RMI实际通信端口
      •  
        sh文件内配置
        •  
          server-start
        •  
          run-class
      •  
        启动时指定
        •  
          JMX_PORT=9999 bin/kafka-server-start.sh
    •  
      Kafka Offset Monitor
    •  
      Kafka Web Console
      •  
        scala编写的java web程序
      •  
        类似Monitor,但更复杂
      •  
        需要配置数据库
      •  
        安装sbt 打包、运行run
    •  
      JMX自开发管理系统
  •  
    4.命令行工具
    •  
      概述
      •  
        启停、配置
      •  
        生产消费、主题管理
      •  
        性能测试perf-test
      •  
        日志内容查看dump-log
      •  
        优先副本选举prefered-replica-election
      •  
        分区再分配reassign
    •  
      topics
      •  
        信息查看--describe
        •  
          Replica
        •  
          ISR
        •  
          OSR
      •  
        创建--create
        •  
          基本方式
          •  
            指定分区个数和副本数量replication-factor
        •  
          手动指定分区分配
          •  
            --replica-assignment
          •  
            0:1:3,1:2:6(分别指两个分区的节点id)
      •  
        修改配置--alter
        •  
          增加分区数
          •  
            --partitions 3
        •  
          动态配置topic参数
          •  
            --config compression=gzip
    •  
      console-producer
    •  
      console-consumer
      •  
        指定分区--pratition
      •  
        偏移量指定策略
        •  
          earliest
        •  
          latest
        •  
          指定
          •  
            指定偏移量--offset 2
        •  
          默认:之前记录的偏移量
      •  
        消费者组
        •  
          groupId配置与查看
          •  
            查看:consumer-groups.sh --list
        •  
          数量变更触发rebalance
        •  
          用于提高消费并行度
        •  
          组与组之间无关系,组内分配partition消费
      •  
        消费位移
        •  
          __consumer_offset
          •  
            指定formatter工具类解析topic内的数据
        •  
          确定groupid的分区
          •  
            groupId的哈希码对总分区数取余
    •  
      configs
      •  
        指令类型
        •  
          变更alter
        •  
          查看describe
      •  
        支持类型
        •  
          topic主题
        •  
          broker
        •  
          用户
        •  
          客户端
      •  
        命令
        •  
          指定类型(--entity-type)
        •  
          指定具体名(--entity-name)
      •  
        配置
        •  
          添加修改配置
          •  
            --config compression.type=gzip
          •  
            --add-config xxx
        •  
          删除配置
          •  
            --delete-config compression.type
以上内容整理于 幕布文档
posted @   哥们要飞  阅读(59)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示