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
以上内容整理于幕布文档

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

  1. Azure DevOps Server 入门实践与安装部署

    一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习.本着学习的目的,我也就开始学习 ...

  2. JVM基础系列第15讲:JDK性能监控命令

    查看虚拟机进程:jps 命令 jps 命令可以列出所有的 Java 进程.如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示. $ jps 6540 ...

  3. 运维监控-Open-Falcon安装Agent实战篇

    运维监控-Open-Falcon安装Agent实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文参考链接来自:http://book.open-falcon.org/zh/ ...

  4. 安装了nodejs后在命令行运行npm报错

    安装了nodejs后在命令行运行npm报错:Error: Cannot find module 'internal/util/types' 解决方法:删除目录“C:\Users\mengxiaobo\ ...

  5. 在Docker中安装.NET Core(使用命令行工具)

    在Docker中安装.NET Core目前共有两种方法:1,使用命令行工具安装2,使用VS2017来安装 本文主要介绍使用命令行工具来安装: 1,安装Docker(如果本机已经有Docker环境,可以 ...

  6. 在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操

    前言 Ansible是一款优秀的自动化IT运维工具,具有远程安装.远程部署应用.远程管理能力,支持Windows.Linux.Unix.macOS和大型机等多种操作系统. 下面就以CentOS 7.6 ...

  7. Oracle安装完成后,如何用命令行启动和关闭数据库?

    Oracle安装完成后,如何用命令行启动和关闭数据库? 解答: 打开:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ dat ...

  8. centos 7 查看系统/硬件信息及运维常用命令+联想Y430P无线网卡驱动安装

     centos 7 查看系统/硬件信息及运维常用命令 当前环境:联想Y430P  CentOS 7.3 [root@yan-001 ~] # uname -a # 查看内核/操作系统/CPU信息的Li ...

  9. Windows下安装appium桌面版和命令行版

    安装appium桌面版和命令行版   一 桌面版(打开很慢,常用于辅助元素定位) 1.官网下载window版本:  github search appium desktop download late ...

  10. (大数据工程师学习路径)第一步 Linux 基础入门----基本概念及操作

    本节联练习主要有: 1.环境介绍 2.常用 Shell 命令及快捷键 3.Linux 使用小技巧 一.Linux 桌面环境介绍 相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形 ...

随机推荐

  1. Kubernetes 调度 - 污点和容忍度详解

    当我们使用节点亲和力(Pod 的一个属性)时,它会将Pod吸引到一组节点(作为偏好或硬性要求).污点的行为完全相反,它们允许一个节点排斥一组 Pod. 在 Kubernetes 中,您可以标记(污染) ...

  2. Vue学习之--------列表排序(ffilter、sort、indexOf方法的使用)、Vue检测数据变化的原理(2022/7/15)

    文章目录 1.列表排序 1.1 .代码实例 1.2 .测试效果 1.3.需要掌握的前提知识 2.Vue监测数据变化的原理 2.1.代码实例 2.2 .测试效果 3.Vue检测数据的原理 3.1 基本知 ...

  3. 基于YOLO和PSPNet的目标检测与语义分割系统(python)

    基于YOLO和PSPNet的目标检测与语义分割系统 源代码地址 概述 这是我的本科毕业设计 它的主要功能是通过YOLOv5进行目标检测,并使用PSPNet进行语义分割. 本项目YOLOv5部分代码基于 ...

  4. 八、docker compose容器编排

    一. Docker-Compose 1.1. 什么是Docker Compose Compose 项目是 Docker 官方的开源项目,负责实现 Docker 容器集群的快速编排,开源代码在 http ...

  5. go基础语法50问,来看看你的go基础合格了吗?

    目录 1.使用值为 nil 的 slice.map会发生啥 2.访问 map 中的 key,需要注意啥 3.string 类型的值可以修改吗 4.switch 中如何强制执行下一个 case 代码块 ...

  6. OpenFOAM 编程 | 求解捕食者与被捕食者模型(predator-prey model)问题(ODEs)

    0. 写在前面 本文问题参考自文献 \(^{[1]}\) 第一章例 6,并假设了一些条件,基于 OpenFOAM-v2206 编写程序数值上求解该问题.笔者之前也写过基于 OpenFOAM 求解偏分方 ...

  7. 【炫丽】从0开始做一个WPF+Blazor对话小程序

    大家好,我是沙漠尽头的狼. .NET是免费,跨平台,开源,用于构建所有应用的开发人员平台. 本文演示如何在WPF中使用Blazor开发漂亮的UI,为客户端开发注入新活力. 注 要使WPF支持Blazo ...

  8. 浅谈MYSQL的索引以及它的数据结构

    什么是索引 mysql的数据是持久化到磁盘的,写SQL查询数据也就是在磁盘的某个位置查找符合条件的数据,但是磁盘IO比起内存效率是极慢的,特别是数据量大的时候,这时候就需要引入索引来提高查询效率: 在 ...

  9. 聊聊mysql的事务

    今天来聊聊事务的四大特性以及其实现原理,需结合之前写的mysql是如何实现mvcc的来理解,因为大多数的实现都是基于mvcc的,理论介绍完后会通过实例来演示mvcc又是如何实现这些隔离级别的 事务的四 ...

  10. 云原生之旅 - 10)手把手教你安装 Jenkins on Kubernetes

    前言 谈到持续集成工具就离不开众所周知的Jenkins,本文带你了解如何在 Kubernetes 上安装 Jenkins,后续文章会带你深入了解如何使用k8s pod 作为 Jenkins的build ...