Kafka入门(新手)

消息中间件:生产者和消费者

正常情况:生产速度小于等于消费速度

其他情况:

  1. 消费者故障,生产的数据丢失
  2. 生产过快,消费者来不及消费,生产的数据丢失

解决方法:拿个容器,将生产者生产的数据放到容器中,消费者消费的时候去取(即缓存)

Kafka就充当容器的功能,因此经常与flume配合使用。

有时候容器很容易满,就多准备几个容器,即Kafka的扩容。

Kafka架构

  • producer:生产者
  • consumer:消费者
  • broker:容器
  • topic:主题,给数据打标签,topic a给消费者a,topic b属于消费者b

一些配置:

Kafka/config/server.properties

broker.id=0  # 容器编号,唯一

listerners=PLAINTEXT://:9092  # 默认监听端口

host.name=localhost  # 当前机器

log.dirs=/tmp/kafka-logs   # 默认存储Kafka日志文件,注意:此目录每次重启会清空,建议重新指定目录

zookeeper.connect=localhost:2181  # zookeeper的地址,与zookeeper/conf/zoo.cfg中的端口配置一致

启动Kafka

kafka-server-start.sh <配置文件及路径>

创建topic:zk

kafka-topics.sh --create --zookeeper <zookeeper地址> --replication-factor <副本系数> --partitions <分区> --topic <topic名称>

查看topic命令

kafka-topics.sh --list --zookeeper <zookeeper地址>

生产消息:broker

kafka-console-producer.sh --broker-list localhost:<监听端口> --topic <topic名称>

消费消息:zk

kafka-console-consumer.sh --zookeeper localhost:<监听端口> --topic <topic名称> --from-beginning

注:--from-beginning  # 从头开始消费       topic的端口是zookeeper监听端口,生产者的端口是kafka配置的监听端口,消费者是zookeeper配置的监听端口    理解为zookeeper是管理Kafka中的各部分组件,生产者生产的数据放在broker中,同时会微数据添加topic标签,topic标签关系由zk管理,消费者从告诉zk要消费数据的标签。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值