首页 > 其他分享 >kafka入门(千峰)学习笔记

kafka入门(千峰)学习笔记

时间:2024-09-11 09:38:58浏览次数:1  
标签:入门 -- 28 kafka topic sh 千峰 root

前言

视频链接

https://www.bilibili.com/video/BV1Xy4y1G7zA

一、kafka介绍

1、为什么使用消息队列

实现异步通信

2、消息队列的流派

消息队列解决了通信问题

(1)、有broker(类似消息中转站)

a.重topic:kafka、activemq、rocketmq

b.轻topic:rabbitmq

(2)、无broker:zeromq

3、kafka安装(linux)

(1)下载地址

https://kafka.apache.org/downloads

// 使用2.4.0

(2)、解压目录

drwxr-xr-x 3 root root  4096 12月 10 2019 bin
drwxr-xr-x 2 root root  4096 12月 10 2019 config
drwxr-xr-x 2 root root  4096 8月  28 15:46 libs
-rw-r--r-- 1 root root 32216 12月 10 2019 LICENSE
-rw-r--r-- 1 root root   337 12月 10 2019 NOTICE
drwxr-xr-x 2 root root  4096 12月 10 2019 site-docs

(3)、配置文件

vi /config/server.properties

(4)、修改内容

listeners=PLAINTEXT://172.30.0.3:9092
// 当前主机地址
advertised.listeners=PLAINTEXT://公网ip:9092
// 云服务器公网ip,外部连接需要使用公网

log.dirs=../kafka-logs
// 日志地址 即消息地址 默认保存七天

zookeeper.connect=123.45.6.78:2181
// zk地址

(5)、启动服务

sh kafka-server-start.sh -daemon ../config/server.properties

// -daemon为后台启动

(6)、观察进程和日志

ps -ef|grep kafka

// tail -f logs/server.log
[2023-08-28 16:00:21,294] INFO [TransactionCoordinator id=0] Starting up. (kafka.coordinator.transaction.TransactionCoordinator)
[2023-08-28 16:00:21,295] INFO [Transaction Marker Channel Manager 0]: Starting (kafka.coordinator.transaction.TransactionMarkerChannelManager)
[2023-08-28 16:00:21,295] INFO [TransactionCoordinator id=0] Startup complete. (kafka.coordinator.transaction.TransactionCoordinator)
[2023-08-28 16:00:21,311] INFO [ExpirationReaper-0-AlterAcls]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2023-08-28 16:00:21,324] INFO [/config/changes-event-process-thread]: Starting (kafka.common.ZkNodeChangeNotificationListener$ChangeEventProcessThread)
[2023-08-28 16:00:21,483] INFO [SocketServer brokerId=0] Started data-plane processors for 1 acceptors (kafka.network.SocketServer)
[2023-08-28 16:00:21,485] INFO Kafka version: 2.4.0 (org.apache.kafka.common.utils.AppInfoParser)
[2023-08-28 16:00:21,485] INFO Kafka commitId: 77a89fcf8d7fa018 (org.apache.kafka.common.utils.AppInfoParser)
[2023-08-28 16:00:21,485] INFO Kafka startTimeMs: 1693209621484 (org.apache.kafka.common.utils.AppInfoParser)
[2023-08-28 16:00:21,488] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

(7)、观察zk中有kafka节点信息

./zkCli.sh

ls /brokers/ids

[0]

二、kafka基本使用

1、kafka基本概念

名称 解释
broker 消息中间件处理节点,一个kafka节点就是一个broker,多个broker组成一个集群
topic kafka通过topic对消息进行归类,发布到kafka集群的每条消息都需要指定一个topic
producer 消息生产者,向broker发送消息的客户端
consumer 消息消费者,从broker读取消息的客户端

2、创建主题topic

(1)、使用脚本创建主题

sh kafka-topics.sh --create --zookeeper 123.45.6.78:2181 --replication-factor 1 --partitions 1 --topic test

Created topic test.

(2)、使用脚本查看创建是否成功

sh kafka-topics.sh --list --zookeeper 123.45.6.78:2181

test

(3)、在zk查看是否创建成功

./zkCli.sh

ls /brokers/topics

[test]

(4)、topic等信息存储在zk,保证kafka是无状态的

3、发送消息

sh kafka-console-producer.sh --broker-list 172.30.0.3:9092 --topic test
>123
>456
>qwe

4、接收消息

(1)、从最后一条消息的偏移量+1消费

sh kafka-console-consumer.sh --bootstrap-server 172.30.0.3:9092 --topic test
111

(2)、从开头开始消费

sh kafka-console-consumer.sh --bootstrap-server 172.30.0.3:9092 --from-beginning --topic test
123
456
qwe
111

几个需要注意的点

a.消息会被存储

b.消息是顺序存储

c.消息是有偏移量的

d.消费时可以指定偏移量进行消费

标签:入门,--,28,kafka,topic,sh,千峰,root
From: https://www.cnblogs.com/fengchong0925/p/18407666

相关文章

  • 梯度下降方法,求解问题 最入门思想
    第一部分:求下面函数取得的最小值时,此时X的值是多少?何为梯度下降,本质就是从该点切线方向,慢慢走下去。切线方向:就是给定一个很小的增量值,试探一下方向。  1、方向的增量值: 2、不断迭代,当增量为很小时,意味着x应该是 1#超参数2m=0.023n=0.000000014#代码函......
  • JMeter性能测试快速入门
    1.安装JmeterJmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。1.1.下载可以ApacheJmeter官网下载,地址:http://jmeter.apache.org/download_jmeter.cgi 1.2.解压因为下载的是zip包,解压缩即可使用,目录结构如下:其中的bin目录就是执行的脚本,其中......
  • C++入门 一(命名空间,缺省参数,超详细!!!)
    文章目录C++与C语言的区别命名空间(Namespace)缺省参数C++与C语言的区别C++在保留了C语言所有特性的基础上增加了面向对象编程的支持,并引入了更多的高级特性和工具来提高代码的可读性、可维护性和可扩展性。而C语言则更加简洁和底层,适用于对性能要求极高或对内存管理......
  • 基于Axis 1.4的Web Service入门
    最近有个客户使用的是Axis1.4创建的WebService,很久没用了,所以整理下这块的知识。基于JDK1.8和EclipseMars开发一个简单的HelloworldWebServicepublicinterfaceHelloService{ Stringhello(Stringname);}publicclassHelloServiceImplimplementsHelloService{......
  • C++入门知识
    命名空间为什么会有命名空间?解决C语言中命名冲突的问题。(std是所有c++库的命名空间)解决方法:采用域作用限定符(::):指定编译器搜索的位置。编译器默认的搜索顺序:先局部再全局。命名空间域大体有4种域:全局域、局部域、命名空间域、类域。命名空间域的特点:1.不会影响生命......
  • 机器学习入门篇
    文章目录什么是机器学习?常见机器学习框架经典算法及使用场景1.监督学习(SupervisedLearning)2.无监督学习(UnsupervisedLearning)3.半监督学习(Semi-SupervisedLearning)4.强化学习(ReinforcementLearning)5.集成学习(EnsembleLearning)6.深度学习(DeepLearning)什......
  • JavaScript语法入门四
    变量变量就是在内存中开辟一块用于存储信息的空间。变量命名1.        变量名称必须仅包含字母,数字,符号 $ 和 _。2.        首字符必须非数字。3.        采用驼峰式命名法(camelCase),就是,单词一个接一个,除了第一个单词,其他的每个单词都以大写字母开头......
  • SRS流媒体服务器从入门到精通(其一,环境搭建)
    欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!江山如画,客心如若,欢迎到访,一展风采文章目录一、SRS简介二、SRS的应用场景三、环境搭建四、推流和拉流使用ffmepg推流和拉流使用OBS推流(推荐)五、补充一、SR......
  • 【Python篇】matplotlib超详细教程-由入门到精通(下篇)
    文章目录前言第六部分:保存与导出图表6.1保存为图片文件示例:保存图表为PNG文件解释:关键点:6.2保存为高分辨率图片示例:保存为高分辨率图片解释:6.3保存为不同文件格式示例:保存为不同文件格式解释:6.4调整图表的保存尺寸示例:设置图片尺寸并保存解释:6.5解决中文乱码......
  • Unity碰撞入门笔记
    Collider和Collider碰撞条件layer间可碰撞。其中之一为刚体。碰撞函数进入碰撞:OnCollisionEnter(Collisioninfo)碰撞中:OnCollisionStay(Collisioninfo)碰撞离开:OnCollisionExit(Collisioninfo)trigger物体作为trigger将没有碰撞,作为触发器使用。(例如到达点位刷怪)进......