Kafka 学习笔记

Kafka概述

官网

和消息系统类似

    消息中间件:生产者和消费者
    
    麻麻:生产者
    你:消费者
    馒头:数据流
        
        正常情况下:生产一个 消费一个
        其他情况:
            一直生产,你吃到某一个馒头时,你卡主(机器故障),馒头就丢失了
            一直生产,做馒头速度快,你吃来不及,馒头也就丢失了
            
        拿个碗/篮子,馒头做好以后先放到篮子里,你要吃的时候去篮子里面取出来吃
    
    篮子/框:Kafka
        当篮子慢了,馒头就装不下了,咋办?
        多准备几个篮子 === Kafka的扩容

Kafka架构

    producer: 生产者,就是生产馒头(老妈)
    consumer: 消费者,就是吃馒头的(你)
    broker: 篮子
    topic: 主题,给馒头带一个标签,topica的馒头时给你的,topiccb的馒头时给你弟弟吃的

单节点,单broker的部署及使用

配置

   $KAFKA_HOME/config/server.properties
   broker.id:0
   listeners 9092
   host.name localhost(hostname)
   log.dirs  自定义一个
   zookeeper.connect  zk

启动

zkServer.sh start //启动zk
bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties

创建topic ==zk==

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic hello_topic

查看所有topic

bin/kafka-topics.sh --list --zookeeper localhost:2181

发送消息 ==broker==

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

消费消息 ==zk==

bin/kafka-console-consumer.sh --zookeeper localhost:9092 --topic test --from-beginning

--from-beginning 表示从头开始消费

查看所有topic的详细信息

kafka-topics.sh --describe --zookeeper localhost:2181 

查看指定topic的详细信息

kafka-topics.sh --describe --zookeeper localhost:2181 --topic hello_topic

多结点broker

配置及启动

server-1.properties
server-2.properties
server-3.properties

    broker.id: 1/2/3
    listeners 9093/9094/9095
    log.dirs

bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server-1.properties &

创建topic ==zk==

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my_replicated_topic

发送消息

kafka-console-producer.sh --broker-list localhost:9093,localhost:9094,localhost:9095 --topic my_replicated_topic

消费消息

kafka-console-consumer.sh --zookeeper localhost:2181 --topic my_replicated_topic --from-beginning

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Centos6.X 下安装并使用VNC的操作记录

VNC是一个的"远程桌面"工具。,通常用于“图形界面”的方式登录服务器,可视化操作。废话不多说了,操作记录如下: 1)安装桌面环境 [root@vm01 ~]#...

39670
来自专栏听Allen瞎扯淡

解决mac升级10.11后,出现的 xcrun: error: invalid active developer path, missing xcrun 错误

前天把小mac升级到了10.11,结果今天在终端里使用git的时候,弹出一行莫名其妙的错误:xcrun: error: invalid active devel...

10000
来自专栏Python、Flask、Django

Mac自带磁盘跑分情况(买的移动固态到了)

12520
来自专栏JavaEdge

Shiro实战(五) - 会话管理

Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器Tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件...

51430
来自专栏Jerry的SAP技术分享

CRM product UI里assignment block的显示隐藏逻辑

我们在product overview page里能看到很多的assignment block。但是runtime的时候真正显示出来的内容只是configura...

30860
来自专栏北京马哥教育

chkconfig命令详细介绍

命令介绍: chkconfig命令用来更新、查询、修改不同运行级上的系统服务。比如安装了httpd服务,并且把启动的脚本放在了/etc/rc.d/init.d目...

40180
来自专栏我的博客

BroadcastReceiver基础知识

1、可接受多个广播,无论是系统还程序发送的广播都可以接收 2、实质上是系统级别的监听器 3、 发送广播就会触发与之匹配的接收广播,如果接收广播在10s内不能执行...

35770
来自专栏云审计

使用云审计实时监控腾讯云账户

用户开通了云审计服务以后,用户便可以清晰的知道自己的云账户中的资源被哪个账号在什么时候从哪个IP发起过什么操作。

389140
来自专栏禅林阆苑

利用NextCloud配置私有云 【原创】

利用NextCloud配置私有云 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github...

2.6K80
来自专栏乐沙弥的世界

RMAN 备份详解

RMAN使用服务器会话来完成备份操作,从RMAN客户端连接到服务器将产生一个服务器会话

22920

扫码关注云+社区

领取腾讯云代金券