首页 > 其他分享 >kafka基础

kafka基础

时间:2023-09-17 23:46:51浏览次数:35  
标签:消费者 CentOS 分区 基础 kafka Topic leader

认识Kafaka

最初的定义:消息队列系统

0.10.0版本的定义:分布式流处理平台,发布-订阅消息队列,存储功能、流处理框架

3.x后的定义:分布式流平台,数据管道/集成、流分析

kafka的优势

  • 吞吐量高、性能好
  • 伸缩性好
  • 高容错、高可靠
  • 与大数据生态精密结合

kafka的作用

  • 高并发环境下的缓冲、消峰
  • 解耦:支持不同的数据来源和不同的目的地
  • 异步通信:避免同步时的等待时间

两种模式

  1. 点对点:消费者主动拉取数据,并在消费后删除
  2. 发布-订阅(常用):同时有多个Topic、多个消费者,独立并行消费,不删除数据

Kafka基础架构

生产者:

Topic:

一个Topic可分为多个Partition分区,便于存储海量数据。为了保证可用性,每个分区又有若干个副本,副本分为leader和follower。生产和消费的处理对象只针对leader,若leader挂掉了,follower有条件成为新的leader

消费者:对应Topic的设计,消费端也有消费者组,组内每个消费者并行消费,每个分区只能由一个消费者消费

Zookeeper:存储kafka中的集群上下线,包括记录每个分区下谁是leader副本(kafka2.8.0后可不用zk)

搭建Kafka

官网下载链接:https://kafka.apache.org/downloads ,这里用的教程一样的3.0.0版本,下载后调整配置

# config/server.properties
broker.id=0     #每个分区的brokerID都需要不同
log.dirs=/home/csop/kafka/logs   # 默认的日志保存在临时目录中,有清除的风险
zookeeper.connect=CentOS-001:2181,CentOS-002:2181,CentOS-003:2181/kafka  # 在zk里添加一个kafka子目录,便于管理

# ~/.bash_profile环境变量配置
export KAFKA_HOME=/home/csop/kafka
export PATH=$PATH:$KAFKA_HOME/bin

先启动zookeeper,再启动 kafka,但启动kafka时需要添加一些参数:

zk.sh   # 自己写的脚本,需要重新查看一下,jps命令也需要查看一下代码
bin/kafka-server-start -demon config/server.properties

06,启动还没有复现

标签:消费者,CentOS,分区,基础,kafka,Topic,leader
From: https://www.cnblogs.com/yuan-zhou/p/17710259.html

相关文章

  • kafka
    kafka的partiton在实际的消息生产消费过程中是如何使用的。安装zookeeper安装jdk安装~#zookeeper默认端口2181数据缓存位置:zoo.cfg=>dataDir=xxx1.启动方式./zkServer.shstop./zkServer.shstart./zkServer.shstatus2.连接方式bin/zkCli.sh#指定端口bin/zkCli.s......
  • Python入门系列1-基础语法
    一、标识符标识符由字母、数字和下划线组成,但是不能以数字开头。标识符是区分大小写的。以下划线开头的标识有特殊意义。以单下划线开头_foo的代表不能直接访问的类属性,需要通过类提供的接口进行访问,以双下划线开头的__foo代表类的私有成员,以双下划线开头和结尾的__foo__代表Python......
  • 数据结构和算法的区别?——算法工程师必备基础知识
     基础部分:语言部分(Python、C++、Java)输入、输出、变量、容器等。算法和数据结构:数据结构用于存储数据,算法则是用于查找数据参考:https://www.bilibili.com/video/BV1bo4y1R7MB/......
  • java基础——随笔01
    数组实例:packageorg.example.common;publicclassZongJie{//数组作为函数参数publicstaticvoidprintArray(int[]array){System.out.println(array.length);System.out.println("--------------------111");System.ou......
  • 【java基础】Token令牌生成 token加密串 生成token Aes加密 Base64加密 JWT 【附
    先看效果:Token令牌-生成工具包括:头部(header)+载荷(payload)+签证(signature) 可以自定义加密盐: 源码:地址一:GitLab地址二:123盘地址三:百度盘提取码:666 ......
  • Go基础语法
    1.结构packagemain//声明main包,表明当前是一个可执行程序import"fmt"//导入内置fmtfuncmain(){//main函数,是程序执行的入口fmt.Println("HelloWorld!")//在终端打印HelloWorld!}运行gorunmain.go2.变量常量数据类型packagemainimpor......
  • 计算机网络 基础面试第一弹
    1.DNS解析过程DNS解析(DomainNameSystemResolution)是将域名转换为IP地址的过程。以下是DNS解析的详细过程:发起解析请求:当您在浏览器中输入一个域名时,您的操作系统会发起一个DNS解析请求。该请求被发送到您计算机上配置的本地DNS服务器,通常由您的互联网服务提供商(ISP)提供。......
  • python语言基础与核心技巧知识点总结
    一、python语言基础python基础语言的详细操作演示1.1变量变量.png1.2数据类型数据类型.png1.3序列序列分类:可变序列list,不可变序列tuple、str。在python中,内建了6中序列:列表、元组、字符串、unicode字符串、buffer对象、xrange对象。(1)list列表list列表.png(2)tuple元祖tuple.png(......
  • 【GO使用redis】GO语言使用Redis基础
    之前我为大家分享了php版本的对于redis的使用,当然我也是一个go的初学者,把自己在用go的时候对接redis的时候也记录一下,为大家分享一下。下面正式开始。redis有许多go语言的客户端包,都能实现对redis的操作。例如redigo、go-redis。我们可以随意选择想要安装的我们使用的是redigo,下......
  • linux基础练习题
    linux基础练习题 第1章阶段总结1.1一、请详细描述linux系统从打开主机电源到进入登录界面整个过程的流程。BIOS开机自检mbr引导grub菜单加载内核init进程/etc/inittab/etc/rc.d/rc.sysinit/etc/re.d/rc启动mingetty进程登录界面1.2二、我想在/data......