Kafka 入门

一、定义

Kafka是一个分布式的基于发布/订阅模式的消息队列(message Queue),主要用于大数据实时处理领域。

  • 发布订阅模式:消息的发布者不会将消息直接发送给特定的订阅者,而是将消息分为特定的类别,订阅者只接受感兴趣的消息。
  • 最新定义:Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。

1.1 、应用场景

传统的消息队列的主要应用场景有:缓存/消峰、解耦、异步通信。

  • 缓存/消峰:控制和优化数据流经系统的速度,解决生产和消费消息的处理速度不一致的情况。
    在这里插入图片描述
  • 解耦:允许你独立的扩展和修改两边的处理过程,只需要确保他们遵守同样的接口约束。
    在这里插入图片描述
  • 异步通信:允许用户把一个消息放入队列,单并不立即处理,然后在需要的时候去处理它。
    在这里插入图片描述

1.2、消息队列模式

  • 点对点
    消费者主动拉取消息,消息收到后清除信息。
    在这里插入图片描述
  • 发布订阅
    可以有多个topic主题,生产者生产消息提交到特定的主题,消费者从特定的主题中消费消息,消息消费后不被清除,每个消费者相互独立,都可以消费消息。
    在这里插入图片描述

1.3 、基础架构

在这里插入图片描述

二、ubuntu20.04安装单机kafka

2.1 安装zookeeper

  • 下载:地址
  • 上传至linux服务器
1.上传至/opt/
2.解压tar -zxvf apache-zookeeper-3.8.0.tar.gz
3.将解压后的文件复制到/usr/local目录下,并重命名为zookeeper
cp zookeeper-3.4.10 /usr/local/zookeeper -r
4.conf目录下,重新复制一份zoo_sample.cfg文件并命名为zoo.cfg
5.修改配置文件:
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
admin.serverPort=8082#不然会出现端口被占用的情况,因为默认是和Apache.Tomcat使用的8080端口
5.配置环境变量
vi /etc/profile
export ZOOKEEPER=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin
source /etc/profile、
6.启动
[root@localhost ~]# zkServer.sh start //启动
[root@localhost ~]# zkServer.sh status  //查看运行状态
7.启动异常
查看日志报错: java.lang.ClassNotFoundException: org.apache.zookeeper.server.quorum.QuorumPeerMain
进入zookeeper-server文件夹下,使用maven打包。
mvn package -Dmaven.test.skip=true
8.再次启动

单机启动成功:
在这里插入图片描述

2.2 安装kafka

1.下载kafka,并上传至服务器。
2.解压: tar -zxvf kafka_2.13-3.1.0.tgz 
3.复制:cp kafka_2.13-3.1.0 /usr/local/kafka
4.进入/usr/local/kafka/config
5.修改配置文件server.properties
**broker.id=1** //--使用单机模式可以不修改
**listeners=PLAINTEXT://:9092**  //--使用单机模式可以不修改
**advertised.listeners=PLAINTEXT://host_ip:9092** //--使用单机模式可以不修改
**log.dirs=/usr/local/kafka/kafka_logs**
6.启动:在kafka目录下:
bin/kafka-server-start.sh config/server.properties
7.验证:
//创建主题
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
//发送消息
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
//接收消息
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
8.安装成功

三 、Topic命令

四、porducer生产者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值