目录一、安装JDK二、安装kafka_2.12-3.6.11.下载kafka2.启动zookeeper3.启动kafka4.测试kafka(1).创建Topic(2).查看topic列表(3).查看描述topics信息(4).启动生产者(窗口不要关闭)(5).启动消费者(窗口不要关闭)在生产者窗口输入内容,消费者端可查看到输入的内容三、kafka查看消费数据1.查看所有组2.查看消费情况一、安装JDK 文章中已提供了jdk的安装包,有兴趣的可以下载下来。rpm-ivhjdk-8u401-linux-x64.rpm二、安装kafka_2.12-3.6.11.下载kafka http
此文基于debian12,centos也适用因为zookeeper依赖jdk环境预先安装好jdk安装zookeeper1.下载zookeeper安装包ApacheZooKeeperhttps://zookeeper.apache.org/releases.html选择最新3.9.1下载可以自行选择2.将压缩包上传到服务器并解压至/usr/local/路径下,重命名为zookeepertar-zxfapache-zookeeper-3.9.1-bin.tar.gz-C/usr/local/cd/usr/local/重命名mvapache-zookeeper-3.9.1-bin./zookeepe
部分知识(可略过) Kafka Kafka是一种分布式流处理平台,它是一个高吞吐量、可扩展、持久化的消息队列系统,用于处理实时数据流。Kafka的核心概念包括生产者(Producer)、消费者(Consumer)和主题(Topic)。生产者负责将数据发布到Kafka集群,消费者则从Kafka集群中订阅并消费数据。主题是数据的分类或者分区,每个主题可以有多个分区,而每个分区又可以有多个副本。这种分区和复制的机制使得Kafka具备了高可用性和容错性。同时,Kafka还提供了丰富的API和生态系统,使得开发者可以方便地构建基于Kafka的实时数据处理应用。 Redis
一、什么是Kafka在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。1)ApacheKafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。2)Kafka最初是由LinkedIn公司开发,并于2011年初开源。2012年10月从ApacheIncubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。3)Kafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成
Kafka中,Producer采用push模型,而Consumer采用pull模型。TopicTopic(主题)是消息的逻辑分类或通道。它是Kafka中用于组织和存储消息的基本单元。一个Topic可以被看作是一个消息发布的地方,生产者将消息发布到一个特定的Topic,而消费者则订阅一个或多个Topic以接收消息。ConsumergroupConsumerGroup(消费者组):为了扩展消费者并实现并行处理,多个消费者可以组成一个消费者组。每个分区只能由消费者组内的一个消费者处理,这样可以确保消息在每个分区内的有序处理。每个消费者组都有一个组id!同一个消费组者的消费者可以消费同一topic下不
1,什么是kafakkafka是一种事件的流式处理平台,他的主要的三个特性是发布和订阅时间流,包括连续导入/导出来之其他系统的数据持久可靠的存储事件流在事件发生或回顾性地处理事件流2,kafka的体系结构producer负责生产消息consumer负责消费消息broker服务代理节点。Broker可以简单地看作一个独立的Kafka服务节点或Kafka服务实例。也可以将Broker看作一台Kafka服务器,前提是这台服务器上只部署了一个Kafka实例。一个或多个Broker组成了一个Kafka集群。2.1topic消息的主题,一个主题可以分为多个分区(partition),同一个主题下不同分区内
PartitionLeaderSelector通过对前面的分析可知,PartitionMachine将Leader副本选举、确定ISR集合的工作委托给了PartitionLeaderSelector接口实现,PartitionMachine可以专注于管理分区状态。这是策略模式的一种典型的应用场景。图展示了PartitionLeaderSelector的实现类,这五个不同的实现提供了不同的策略。PartitionLeaderSelector接口的定义如下:NoOpLeaderSelector是其中最简单的实现,它并没有进行Leader选举,而是将currentLeaderAndlsr直接返回,需
Iceberg从入门到精通系列之二十四:SparkStructuredStreaming一、StreamingReads二、StreamingWrites三、Partitionedtable四、流表的维护Iceberg使用ApacheSpark的DataSourceV2API来实现数据源和目录。SparkDSv2是一个不断发展的API,在Spark版本中提供不同级别的支持。一、StreamingReadsIceberg支持处理从历史时间戳开始的Spark结构化流作业中的增量数据:valdf=spark.readStream.format("iceberg").option("stream-fr
1.Docker简介Docker是一个开源的容器化平台,可帮助开发者轻松地创建、部署和运行应用程序。Docker使开发人员能够在一个独立的容器中打包应用程序及其依赖项,这样他们就可以轻松地将应用程序移植到任何其他环境中。Docker主要由以下几个组件组成:Docker客户端:Docker客户端是与Docker守护程序进行通信的命令行工具。Docker守护程序:Docker守护程序是在主机上运行的后台进程,负责管理Docker容器和镜像的创建、运行和存储等操作。Docker镜像:Docker镜像是应用程序和其依赖项的打包版本,包含了运行应用程序所需的所有文件和配置信息。Docker容器:Dock
读Kafka技术书遇到困惑:"对比传统的数据复制和“零拷贝技术”这两种方案。假设有10个消费者,传统复制方式的数据复制次数是4×10=40次,而“零拷贝技术”只需1+10=11次(一次表示从磁盘复制到页面缓存,另外10次表示10个消费者各自读取一次页面缓存)。显然,“零拷贝技术”比传统复制方式需要的复制次数更少。"困惑我的有两个问题:1.传统一次数据传输为什么需要4次拷贝2. 为什么零拷贝下10个消费者只需要11次第一个问题:传统一次数据传输为什么需要4次拷贝?传统数据传输在实现上包含两个操作,read和write,都是由用户程序来发起,其中read和write中各有两次复制操作. read负