IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 初识kafka -> 正文阅读

[大数据]初识kafka

消息队列的两种模式

点对点模式

一对一,消费者主动拉取数据,消息收到后消息删除, 并且消息只能被一个消费者消费

发布订阅模式

一对多,消费者消费数据后不会清除消息,生产者将消息发布到topic中,可以被所有订阅了的消费者消费,消费者可以通过两种方式获取消息,一种是主动拉取,一种topic推送消息,kafka是基于主动拉取模式的

概述

kafka是一个分布式的基于发布订阅模式的消息队列,主要应用于大数据领域。

使用消息队列的好处

  1. 解耦:允许独立的修改活扩展两边的代码,只要确保他们遵守同样的接口约束
  2. 可恢复性:系统的一部分组件失效时,不会影响整个系统,即一个处理消息的服务挂掉后,加入队列中的消息仍然可以在服务恢复后处理
  3. 缓冲:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的不一致
  4. 异步通信:不需要立即处理消息,可以在需要的时候再处理

安装

kafka依赖于zookeeper,所以也必须安装zookeeper
下载地址:https://kafka.apache.org/downloads
Binary downloads下的
把此包解压到服务器即可

config目录下的server.properties

# broker的全局唯一标识,集群中不能重复,
broker.id=0

# returned from java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://10.177.4.38:9092
#   监听ip和端口案例  listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://192.168.10.1:9092

# 设置删除功能可使用,,新版本没有发现这个设置
delete.topic.enable=true
# 服务器用于从网络接收请求并向网络发送响应的线程数
num.network.threads=3

# 服务器用于处理请求的线程数,其中可能包括磁盘I/O
num.io.threads=8

# socket服务器使用的发送缓冲区
socket.send.buffer.bytes=102400

# socket服务器使用的接收缓冲区(SO_RCVBUF)
socket.receive.buffer.bytes=102400

# 套接字服务器将接受的请求的最大大小(针对OOM的保护)
socket.request.max.bytes=104857600


############################# Log Basics #############################

# 用逗号分隔的目录列表,在其中存储日志文件
log.dirs=/tmp/kafka-logs

# 每个主题的默认日志分区数。更多分区允许更大分区
num.partitions=1

# 每个数据目录用于启动时日志恢复和关闭时刷新的线程数。
num.recovery.threads.per.data.dir=1

############################# Internal Topic Settings  #############################
# 组元数据内部主题“__consumer_offset”和“__transaction_state”的复制因子
# 对于开发测试以外的任何情况,建议使用大于1的值,以确保可用性,例如3。
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

############################# Log Retention Policy #############################
# 由于过期而可以被删除的日志文件的最小过期时间
log.retention.hours=168

# 日志段文件的最大大小。当达到这个大小时,将创建一个新的日志段。
log.segment.bytes=1073741824

# 检查日志段以确定是否可以根据其删除的时间间隔
log.retention.check.interval.ms=300000
# 集群连接案例 "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# 连接zookeeper的ip地址
zookeeper.connect=localhost:2181
# 连接zookeeper超时时间
zookeeper.connection.timeout.ms=6000
# 延迟初始消费者重新平衡的时间(以毫秒为单位)
group.initial.rebalance.delay.ms=0

bin目录下的常用命令

  • 启动和关闭命令 zookeeper-server-start.sh zookeeper-server-stop.sh 后台启动命令
  • 生产者和消费者控制台打印信息命令 kafka-console-consumer.sh kafka-console-producer.sh
  • 关于topic的操作,增删改查 kafka-topics.sh
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:39:36  更:2021-08-15 15:40:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 8:53:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码