kafka学习笔记--安装部署、简单操作

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。
如有侵权、联系速删
视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优,深入全面)

文章目录

  • 1 安装部署
    • 1.1 集群规划
    • 1.2 集群部署
  • 2 命令行操作
    • 2.1 主题
    • 2.2 生产者
    • 2.3 消费者
    • 2.4 消费者组

1 安装部署

1.1 集群规划

这里采用的是三节点的kafka集群,名称为hadoop102、hadoop103、hadoop104

1.2 集群部署

官方下载地址:http://kafka.apache.org/downloads.html

  1. 解压安装包
    tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
    
  2. 修改解压后的文件名称
     mv kafka_2.12-3.0.0/ kafka
    
  3. 进入到/opt/module/kafka 目录,修改配置文件
     cd config/vim server.properties
    
    按需修改以下内容:
    #broker 的全局唯一编号,不能重复,只能是数字(一般修改这个)。
    broker.id=0
    #处理网络请求的线程数量
    num.network.threads=3
    #用来处理磁盘 IO 的线程数量
    num.io.threads=8
    #发送套接字的缓冲区大小
    socket.send.buffer.bytes=102400
    #接收套接字的缓冲区大小
    socket.receive.buffer.bytes=102400
    #请求套接字的缓冲区大小
    socket.request.max.bytes=104857600
    #kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔。(一般修改这个)
    log.dirs=/opt/module/kafka/datas
    #topic 在当前 broker 上的分区个数
    num.partitions=1
    #用来恢复和清理 data 下数据的线程数量
    num.recovery.threads.per.data.dir=1
    # 每个 topic 创建时的副本数,默认时 1 个副本
    offsets.topic.replication.factor=1
    #segment 文件保留的最长时间,超时将被删除
    log.retention.hours=168
    #每个 segment 文件的大小,默认最大 1G
    log.segment.bytes=1073741824
    # 检查过期数据的时间,默认 5 分钟检查一次是否数据过期
    log.retention.check.interval.ms=300000
    #配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)(一般修改这个)
    zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
    
  4. 另外两个节点也装安装包
  5. 分别在 hadoop103 和 hadoop104 上修改配置文件/opt/module/kafka/config/server.properties中的 broker.id=1、broker.id=2
    注:broker.id 不得重复,整个集群中唯一。
  6. 配置环境变量
    • 在/etc/profile.d/my_env.sh 文件中增加 kafka 环境变量配置
      sudo vim /etc/profile.d/my_env.sh
      
      增加如下内容:
      #KAFKA_HOME
      export KAFKA_HOME=/opt/module/kafka
      export PATH=$PATH:$KAFKA_HOME/bin
      
    • 刷新一下环境变量。
      source /etc/profile
      
    • 其他节点一样的操作。
      在另外两个节点 source刷新
      source /etc/profile
      
  7. 启动集群
    先启动 Zookeeper 集群,然后启动 Kafka。
    zk.sh start
    kafka-server-start.sh -daemon config/server.properties
    
  8. 关闭集群
    bin/kafka-server-stop.sh
    
    注意:停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper集群。因为 Zookeeper 集群当中记录着 Kafka 集群相关信息,Zookeeper 集群一旦先停止,Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了。

2 命令行操作

2.1 主题

1 查看操作主题命令参数

bin/kafka-topics.sh + 参数
参数描述
–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号。
–topic <String: topic>操作的 topic 名称。
–create创建主题。
–delete删除主题。
–alter修改主题。
–list查看所有主题。
–describe查看主题详细描述。
–partitions <Integer: # of partitions>设置分区数。
–replication-factor<Integer: replication factor>设置分区副本。
–config <String: name=value>更新系统默认的配置。

操作时要先连接,所以后面的命令行都有--bootstrap-server hadoop102:9092
2 查看当前服务器中的所有 topic

bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list

3 创建一个topic,这里我起名为first

bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 1 --replication-factor 3 --topic first

选项说明:
--topic定义topic名
--replication-factor定义副本数
--partitions 定义分区数
4 查看 first 主题的详情

bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first

5 修改分区数(注意:分区数只能增加,不能减少)

bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --alter --topic first --partitions 3

6 再次查看 first 主题修改后的详情

 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first

7 删除 topic

 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --delete --topic first

2.2 生产者

1 查看生产者

bin/kafka-console-producer.sh
参数描述
–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号。
–topic <String: topic>操作的 topic 名称。

2 发送消息

bin/kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic first
hello world
atguigu atguigu

2.3 消费者

1 查看消费者

bin/kafka-console-consumer.sh
参数描述
–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号。
–topic <String: topic>操作的 topic 名称。
–from-beginning从头开始消费。
–group <String: consumer group id>指定消费者组名称。

2 消费消息

  • 消费指定主题的数据
    bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic first
    
  • 把主题中所有的数据都读取出来(包括历史数据)。
    bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first
    

2.4 消费者组

1 查看消费者组

bin/kafka-consumer-groups.sh
参数描述
–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号。
–describe列出消费者组详情信息。
–list列出所有消费者。
–group <String: consumer group id>指定消费者组名称。

如果我们要查询testGroup消费者组的详细信息,执行如下命令

bin/kafka-consumer-groups.sh --bootstrap-server hadoop102:9092 --describe --group testGroup

在这里插入图片描述
其中列出的参数含义为:

参数描述
GROUP消费者组名
TOPIC主题名称
PARTITION该主题消息的分区ID列表
CURRENT-OFFSET最后被消费的消息的偏移量
LOG-END-OFFSET该主题最后一条消息的偏移量
LAG消息积压量
CONSUMER-ID该组消费者ID
HOST该组消费者主机IP/brokerID
CLIENT-ID该组消费者客户端ID

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/213148.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代皮质沙发模型材质编辑

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

vite配置nework访问ip

如果没有进行配置&#xff0c;运行项目之后&#xff0c;看到的访问地址是本地访问地址&#xff0c;其他人同个局域网的人访问不了。 如下&#xff1a; 如果想要其他人也可以访问&#xff0c;需要设置内网 ip 访问地址&#xff0c;设置方法如下&#xff1a; 一、配置 “ vite…

【UE5 c++】c++创建AI对象SpawnAIFromClass

根据蓝图节点&#xff0c;可以发现此方法在AIBlueprintHelperLibrary中。 在.h文件中声明被创建的Class和需要使用的AITree void SpawnMyAI();UPROPERTY(EditAnywhere,BlueprintReadWrite,Category"Class")TSubclassOf<APawn> myclass;UPROPERTY(EditAnywhere…

Qt内存管理、UI编辑器、客制化组件、弹出对话框、常用部件类

头文件的小技巧 #include <QtWidgets> // 在自动生成的 .h 里面加上此句 适用条件&#xff1a; QT 的内存管理 当父窗体被关闭时&#xff0c;子部件的内存会自动释放。 对象树是一种管理对象生命周期的机制。当一个对象被添加到另一个对象的子对象列表中时&#xff0…

Python网络爬虫的基础理解-对应的自我理解误区

##通过一个中国大学大学排名爬虫的示例进行基础性理解 以软科中国最好大学排名为分析对象&#xff0c;基于requests库和bs4库编写爬虫程序&#xff0c;对2015年至2019年间的中国大学排名数据进行爬取&#xff1a;&#xff08;1&#xff09;按照排名先后顺序输出不同年份的前10…

上网监控软件——安全与隐私的平衡

网络已经成为人们生活和工作中不可或缺的一部分。然而&#xff0c;随着网络使用的普及&#xff0c;网络安全问题也日益突出。上网监控软件作为网络安全领域的一个重要组成部分&#xff0c;在保护企业和家庭网络安全方面发挥着重要作用。 本文将探讨上网监控软件的背景、功能、优…

2023滨海湾人工智能论坛举办,范向伟代表和鲸科技共同发起成立工业智能算法联盟

人工智能是新一轮科技革命和产业变革的重要驱动力量&#xff0c;算力算法产业也正迎来爆发式增长。12月7日&#xff0c;以“要素融合知识互联”为主题的2023滨海湾人工智能论坛在东莞滨海湾新区举行&#xff0c;本次活动由东莞市人民政府主办&#xff0c;东莞滨海湾新区管委会、…

go语言 grpc 拦截器

文章目录 拦截器服务端拦截器一元拦截器流拦截器 客户端拦截器一元拦截器流拦截 多个拦截器 代码仓库 拦截器 gRPC拦截器&#xff08;interceptor&#xff09;是一种函数&#xff0c;它可以在gRPC调用之前和之后执行一些逻辑&#xff0c;例如认证、授权、日志记录、监控和统计…

物联网+AI智慧工地云平台源码(SaaS模式)

智慧工地云平台充分运用数字化技术&#xff0c;聚焦施工现场岗位一线&#xff0c;依托物联网、互联网、AI等技术&#xff0c;围绕施工现场管理的人、机、料、法、环五大维度&#xff0c;以及施工过程管理的进度、质量、安全三大体系为基础应用&#xff0c;实现全面高效的工程管…

【hugging face】bitsandbytes中8 bit量化的理解

8 位量化使数十亿参数规模的模型能够适应更小的硬件&#xff0c;而不会降低性能。 8 位量化的工作原理如下&#xff1a; 1.从输入隐藏状态中按列提取较大值&#xff08;离群值&#xff09;。 2.对 FP16 中的离群值和 int8 中的非离群值执行矩阵乘法。 3.改变非异常值结果以将值…

代理IP怎么使用?Mac苹果系统设置http代理IP教程

代理IP是一种通过将请求转发到另一个服务器&#xff0c;以隐藏自己的真实IP地址的服务器。使用代理IP可以保护您的隐私和安全&#xff0c;防止被跟踪或被攻击。在本文中&#xff0c;我们将介绍如何在Mac苹果系统上设置http代理IP教程。 一、了解代理IP 代理IP地址是一种可以用来…

网络编程值UDP

1. 知识点 1.1 TCP和UDP优缺点 1.2 UDP通信流程 1.2.1 服务端 1. 创建udp套接字 2. 初始化服务端网络地址结构 3. 绑定服务端网络地址 4.创建结构体用来存储客户端网络地址结构 5. 接收客户数据 1.2.2 客户端 1. 创建udp套接字 2. 初始化服务器网络地址结构 3. 客户端先发送数…

STM32 map文件详解

文章目录 1. 前言2. 生成 .map 文件3 .map 文件的组成3.1 Section Cross References - 各个源文件之间函数的调用关系3.2 Removing Unused input sections from the image - 移除未使用的模块3.3 Image Symbol Table - 映射符号表&#xff1a;描述各&#xff08;程序段 / 数据&…

Python---类的综合案例

1、需求分析 设计一个Game类 属性&#xff1a; 定义一个类属性top_score记录游戏的历史最高分 定义一个实例属性player_name记录当前游戏的玩家姓名 方法&#xff1a; 静态方法show_help显示游戏帮助信息 类方法show_top_score显示历史最高分 实例方法start_game开始当前…

图的邻接链表储存

喷了一节课 。。。。。。。、。 #include<stdio.h> #include<stdlib.h> #define MAXNUM 20 //每一个顶点的节点结构&#xff08;单链表&#xff09; typedef struct ANode{ int adjvex;//顶点指向的位置 struct ArcNode *next;//指向下一个顶点 …

macOS Big Sur/Mac电脑安装vscode显示您没有权限来打开应用程序‘Visual Studio Code‘ 请联系您的电脑或网络管理员问题修复

错误方法 首先我以为我的权限不足。&#xff0c;需要去用户群组里设置。结果根本不是这个的问题。 1.在系统偏好设置->用户与群组检查了一下我的用户是不是管理员 结果发现是管理员 2.根据苹果提示&#xff0c;右键我的文件夹->显示简介->最下面的共享与权限 解锁&…

maven学习笔记总结

目录 一、maven简介 二、GAVP属性 三、基于 IDLE 的 Maven 工程创建 1&#xff09;java标准工程&#xff08;Javase&#xff09;的创建 2&#xff09;java企业工程&#xff08;Javaee&#xff09;的创建 a&#xff09;手动创建 b&#xff09;插件方式创建&#xff08;fil…

Linux:dockerfile编写搭建tomcat练习(9)

我使用的httpyum仓库 本地使用了5个文件&#xff0c;tomcat使用的官网解压直接用的包】 Dockerfile 主配置文件 基于centos基础镜像 jdk1.8.0_91 java环境 run.sh 启动脚本 centos.repo 仓库文件 tomcat 源码包 vim Dockerfile写入FROM centos MAINTAINER ta…

SpringAOP专栏二《原理篇》

上一篇SpringAOP专栏一《使用教程篇》-CSDN博客介绍了SpringAop如何使用&#xff0c;这一篇文章就会介绍Spring AOP 的底层实现原理&#xff0c;并通过源代码解析来详细阐述其实现过程。 前言 Spring AOP 的实现原理是基于动态代理和字节码操作的。不了解动态代理和字节码操作…

智能优化算法应用:基于食肉植物算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于食肉植物算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于食肉植物算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.食肉植物算法4.实验参数设定5.算法结果6.参考…