Kafka

定义:

是一个开源的分布式流数据平台,旨在提供高吞吐、高容错性以及水平可扩展的流数据解决方案

特点:

  1. 是消息发布订阅系统:将消息发布到Topic,再从Topic订阅;
  2. 持久性:将消息持久化到磁盘,即使消费者离线,仍可以获取之前的消息;
  3. 高吞吐:它使用分区(partitions)将Topic 的数据分布到各个服务器上,从而实现水平扩展;
  4. 水平可扩展:Kafka 集群可以很容易的扩展,通过增加节点来处理更多的数据;
  5. 容错性:当其中一些节点失败时,数据仍然可用。他通过在多个节点上复制分区的数据来实现容错;
  6. 实时数据流处理:Kafka不仅仅是消息队列,还支持实时数据流处理。他可以集成到流处理框架中,如flink ,以支持实时数据分析和处理

基本命令

1. 创建topic
/opt/tiger/kafka/bin/kafka-topics.sh --zookeeper $(sd config vpc.zookeeper)/kafka_vpc_lf --create --if-not-exists --replication-factor 2 --partitions 3 --topic $topic_name

创建生产者
#创建一个生产者
/opt/tiger/kafka/bin/kafka-console-producer.sh --broker-list $(sd config kafka_vpc) --topic dts_dump_test
#生产一条数据
{"id":773320,"name":"杨娟","address":"吉林省杭州市合川梧州路L座 934689","create_time":1653905861,"event_time":1653905561,"price":40343.9750680629,"list_info":["QeWHWDTPqOyjxivCdHFb","mAEgJHRZnojFWbueQiiR","AZWPwVMRyJKCJMXaEJhp","cbeTljzvygYcDrwdLKel","HFiEKQiFkEejdZQftpbE"],"map_info":{"也是":"aHzrLubeXUZLbwURNwmK","搜索":"MXhrcgUVOmNTqDjIHGTD","一些":"reiKveakVvTvNoesUjYE","女人":"ckoKoxJCrxniQIFAUiZu","之间":"DUXVsnqwtDrnxAcwFcZx"}}
2. 创建带Key的生产者
kafka-console-producer.sh --bootstrap-server $(sd config kafka_vpc) --topic test --producer.config config/producer.properties  --property parse.key=true
3. 创建一个消费者
/opt/tiger/kafka/bin/kafka-console-consumer.sh --bootstrap-server $(sd config kafka_vpc) --topic pg_cdc_dump
 
4. 查看消费组列表
/opt/tiger/kafka/bin/kafka-consumer-groups.sh --bootstrap-server {broker_ip}:9192 --list
 
5. 查看 topic 列表
/opt/tiger/kafka/bin/kafka-topics.sh --zookeeper $(sd config vpc.zookeeper)/kafka_vpc_lf --list
 
6. 查看消费组详情(CURRENT-OFFSET,LAG 等)
/opt/tiger/kafka/bin/kafka-consumer-groups.sh --bootstrap-server $(sd config kafka_vpc) --group {group_name} --describe
7. 查看topic详情
/opt/tiger/kafka/bin/kafka-topics.sh --zookeeper $(sd config vpc.zookeeper)/kafka_vpc_lf  --describe --topic ${topic_name}
8. 修改partition数量(只能增加不能减少)
/opt/tiger/kafka/bin/kafka-topics.sh --alter --topic {topic_name} --zookeeper localhost/kafka_vpc_lf --partitions {partition_number}
9. 查看__consumer_offset
./kafka-console-consumer.sh --topic __consumer_offsets --bootstrap-server localhost:9192 --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --consumer.config ../config/consumer.properties --partition 3
10. 调整Kafka日志保留时长
/opt/tiger/kafka/bin/kafka-configs.sh --zookeeper $(sd config vpc.zookeeper)/kafka_vpc_lf --alter --entity-name ch_event --entity-type topics --add-config retention.ms=86400000
11. 移除Kafka topic级别配置
/opt/tiger/kafka/bin/kafka-configs.sh --zookeeper localhost:2181/kafka_vpc_lf --alter --entity-name ch_event --entity-type topics  --delete-config retention.ms
12. 修改消费进度
/opt/tiger/kafka/bin/kafka-consumer-groups --bootstrap-server $(sd config kafka_vpc) --group profileGroup --reset-offsets --topic profile_transition --to-offset 44712624463 --execute
13. 修改消费进度(指定分区)
/opt/tiger/kafka/bin/kafka-consumer-groups --bootstrap-server $(sd config kafka_vpc) --group profileGroup --reset-offsets --topic profile_transition:0 --to-offset 44712624463 --execute
14. 查看条数
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --bootstrap-server $(sd config kafka_vpc) --topic dts_test --time -1 --offsets 1 | awk -F  ":" '{sum += $3} END {print sum}'
15. 查看offset
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list BORKER_HOST1:PORT1,BORKER_HSOT2:PORT2 --topic TOPIC_NAME --time -1
16. 查询当前机器的kafka 部署机器IP
sd config vpc.zookeeper

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值