kafka

1.概念

一种高吞吐量的分布式、支持分区的(partition)、多副本的(replication),基于zookeeper协调的消息系统

  1. Message 消息数据,消息队列MQ
  2. Broker 集群中服务器统称,中间人释义
  3. Topic 消息的类别
  4. Partition 每个Partition都有3个副本
  5. Segment 一个Partition有多个Segment,分Segment管理减少单个文件太大的问题,有index索引能方便更快速定位
  6. Producer 发布消息到kafka broker
  7. Consumer 消息者,读取消息
  8. 发布publish、订阅subscribe
  9. Consumer Group 消费者组共享订阅的topic消息,topic中的每个消息中只会被一个consumer消费
  10. Offset 偏移量 递增的id,我们称之为Offset。它唯一标识了分区中的消息。
  11. 消息系统的一般性语义说明 ☆

三种语义定义(适用于生产者和消费者两大场景)

  • 最多1次(At most once):消息可能丢失,但不会重复投递
    只管写入,不去确认ACK确定应答消息
  • 最少1次(At least once): 消息不会丢失,但可能会重复投递
    没有返回ACK确定应答,再写一次
  • 严格1次(Exactly once) : 消息不丢失、不重复,有且只会被分发一次
    精准生产,幂等性(多次操作只有一次能真正生效)

2.架构设计

在这里插入图片描述

2.1 ZooKeeper协同服务

  1. 概念说明
    分布式环境下的第三方协同服务,帮助分布式系统,比如存储、计算、调度等均需要协同服务。
  2. 特点特征
    简单、易使用、高效、稳定
  3. 应用场景
    核心是要解决一致性问题
    分布式环境下的命名一致性问题
    分布式服务环境下的高可用性问题
    核心还是一个选举策略问题
  4. 代码实现
    Zk其实内部就是一个多叉树结构

2.2 shell操作

Kafka提供五大核心API:

  1. Producer API
  2. Consumer API
  3. Connector API
  4. Streams API
  5. Admin API

1 . 创建一个topic

sh /usr/hdp/3.1.0.0-78/kafka/bin/kafka-topics.sh 
--create --zookeeper cluster1.hadoop:2181 
--replication-factor 1 --partitions 1 --topic kafkajt
  1. 查看所有主题
sh /usr/hdp/3.1.0.0-78/kafka/bin/kafka-topics.sh 
--list --zookeeper cluster1.hadoop:2181
  1. 删除一个topic,前提是设置必要的参数为true,即可
delete.topic.enable=true
sh /usr/hdp/3.1.0.0-78/kafka/bin/kafka-topics.sh 
--delete --zookeeper cluster1.hadoop:2181 --topic kafkajt
  1. 作为生产者向指定Broker发送消息
sh /usr/hdp/3.1.0.0-78/kafka/bin/kafka-console-producer.sh 
--broker-list cluster0.hadoop:6667 --topic kafkajt
  1. consumer从topic消费消息数据
sh /usr/hdp/3.1.0.0-78/kafka/bin/kafka-console-consumer.sh 
--bootstrap-server cluster0.hadoop:6667  -topic kafkajt -from-beginning
  1. 查看指定topic状态信息
sh /usr/hdp/3.1.0.0-78/kafka/bin/kafka-topics.sh 
--describe --zookeeper sc-slave1:2181 --topic kafkajt

7.查看所有topic状态信息

//不添加--topic参数,则为查看所有topic的状态信息
sh /usr/hdp/3.1.0.0-78/kafka/bin/kafka-topics.sh 
--describe --zookeeper sc-slave1:2181
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值