kafka入门基础命令

kafka入门基础命令_第1张图片
kafka启动命令
./bin/kafka-server-start.sh(启动命令) -daemon(后台启动参数) config/server.properties (配置文件)
kafka语法
查看主题个数 命令 ./bin/kafka-topics.sh --list --zookeeper Hadoop01:2181
创建主题 命令 ./bin/kafka-topics.sh --create --zookeeper Hadoop01:2181 --topic first (topic 名称) --partitions 2 (分区个数) --replication-factor 2 (副本个数)
删除主题命令 ./bin/kafka-topics.sh --delete --zookeeper Hadoop01:2181 --topic first(topic 名称)
查看主题详情命令
./bin/kafka-topics.sh --describe --topic test(主题名称) --zookeeper Hadoop01:2181
创建主题 副本数不能大于分区数
生产者启动命令
./bin/kafka-console-producer.sh --topic test --broker-list Hadoop01:9092
消费者启动命令
./bin/kafka-console-consumer.sh --topic test --zookeeper Hadoop01:2181 --from-beginning
./bin/kafka-console-consumer.sh --topic test --bootstrap-server Hadoop01:9092 --from-beginning
最大消息保存时间7天
消费者在zookeeper中存的是偏移量
生产者
生产者分区
分区策略
分区原因 方便集群中扩展 每个partition 可以通过调整以适应他所在的机器,而一个topic 又可以有多个partition组成因此整个 集群就可以适应任意大小数据
可以提高并发因为是以partition 为单位读写了
ack机制
0 的时候 生产者发送数据到主题 不管主题有没有接收到数据之间ack状态
1的时候 生产者发送数据到主题 只要leader接收成功返回ack状态
-1 的时候 生产者 发送数据到主题 leader与follower都接收到数据才返回ack状态
上面两种容易造成数据丢失 -1 情况容易造成数据重复的现象
消费数据的一致性 高水位
HW 消费者可见的最大值 消费者消费的一致性
只能保证副本之间数据一致性的问题 不能保证数据的不丢失 或者不重复
LEO 每一个分区每一个副本的最大officeset
Exactly once 精准一次性
kafka 消费者
消费方式
consumer 使用pull(拉取) 模式 broker中读取数据
push(推)模式很难适用于消费者速率不同的消费者因为消息发送速率是有broker决定的
分区分配策略
同一个消费者组里面不同消费者不能同时消费同一个分区
roundrobin 轮询 按照最分 保证消费者组中消费者订阅的主题是同一个
range按照主题分

你可能感兴趣的:(kafka,kafka)