美文网首页
我的大数据学习之路-初识Kafka

我的大数据学习之路-初识Kafka

作者: 苟思玉 | 来源:发表于2019-01-31 16:52 被阅读0次

年初我加入了大数据团队,对大数据一无所知的我,为了尽快融入大家,只能硬着头皮学起来,下面是我学的kafka入门知识,先总结下来,慢慢积累吧。

Kafka基本原理:

kafka是一个分布式的分区的多副本的消息发布订阅系统,它具有消息持久,高吞吐,分布式,多客户端支持,实时等特性,适用于离线和在线的消息消费,如常规的消息收集,网站活跃性跟踪,聚合统计系统运营数据,日志收集等大量数据的互联网的数据收集场景。

kafka结构

Kafka 内部消息传递流程:

消费者使用一个消费者组名称(Consumer Group)来标记自己,主题的每个消息被传递给每个订阅消费者组中的一个消费者。如果所有的消费者实例都属于同样的消费组,它们就像传统队列负载均衡方式工作,如上图,Consumer_Greoup_B中的C1和C2之间为负载均衡方式;ConsumerC_Group_C中的C1,C2,C3为负载均衡方式,如果消费者实例都不属于一个消费组,如上图中Consumer_GroupA中的C1和Consumer_GroupB中的C1之间,则消息会被广播给所有的消费者。

操作步骤:

使用kafka-acls.sh进行用户授权命令:

查看某topic权限控制:./kafka-acls.sh —authorizer-properties zookeeper.connect=<(zookeeper集群业务IP:端口号)/kafka> --list --topic <topic name>

添加某用户producer权限:./kafka-acls.sh —authorizer-properties zookeeper.connect=<(zookeeper集群业务IP:端口号)/kafka> —add —allow-principal User:<用户名> —producer —topic <topic name>

删除某用户producer权限:./kafka-acls.sh —authorizer-properties zookeeper.connect=<(zookeeper集群业务IP:端口号)/kafka> —remove —allow-principal User:<用户名> —producer —topic <topic name>

使用kafka客户端命令:

kafka消息读取:./kafka-console-consumer.sh  —bootstrap-server 187.7.61.100:端口号 —topic <topic name> —consumer.config=config/consumer.properties

kafka消息发布:./kafka-console-producer.sh —broker-list 187.7.61.100:端口号 —topic <topic name> —producer.config=config/producer.properties

管理kafka主题命令:

创建主题:./kafka-topic.sh —create —topic <topic name> —partitions <主题占用的分区数> —replication-factor <主题的备份数> —zookeeper zookeeper集群业务IP:端口号/kafka

list主题:./kafka-topic.sh —list —zookeeper zookeeper集群业务IP:端口号/kafka

删除主题:./kafka-topic.sh —delete —topic <topic name> —zookeeper zookeeper集群业务IP:端口号/kafka

topic限流:

    producer限流:bin/kafka-configs.sh --zookeeper X.X.X.X :port/kafka --alter --add-cnfig                                                            'producer_byte_rate=1048576' --entity-type topics --entity-name topicname

    consumer限流:bin/kafka-configs.sh --zookeeper X.X.X.X :port/kafka --alter --add-cnfig                                                            'consumer_byte_rate=1048576' --entity-type topics --entity-name topicname

user+topic 限流:

    producer限流:bin/kafka-configs.sh --zookeeper X.X.X.X :port/kafka --alter --add-cnfig                              'producer_byte_rate=1048576' --entity-type topics --entity-name topicname --entity-type users --entity-name username

    consumer限流:bin/kafka-configs.sh --zookeeper X.X.X.X :port/kafka --alter --add-cnfig                              'consumer_byte_rate=1048576' --entity-type topics --entity-name topicname --entity-type users --entity-name username

Kafka自带的性能测试脚本:

Kafka自带的性能测试脚本

相关文章

  • 我的大数据学习之路-初识Kafka

    年初我加入了大数据团队,对大数据一无所知的我,为了尽快融入大家,只能硬着头皮学起来,下面是我学的kafka入门知识...

  • 大数据 - Kafka

    大数据 - Kafka 初识Kafka Kafka是一个分布式的,支持多分区、多副本的基于zookeeper的分布...

  • kafka学习(1) 初识kafka

    Kafka介绍 Kafka是LinkedIn采用scala开发的一个多分区, 多副本并且基于ZooKeeper协调...

  • Kafka基本原理

    学习来源: 《大数据技术学习之Kafka基本原理》 《kafka官网》 1.简介 Apache Kafka由著名职...

  • Kafka学习之路

    kafka当前的版本是0.10.1新增加的新特性还是很多的,使用0.8.×的同学,可以多关注下了。原文地址:htt...

  • Flink简介

    第一章 初识Flink 大数据开发总体架构 数据传输层:常用的数据传输工具有Flume、Sqoop、Kafka。F...

  • Kafka实际案例问题

    kafka consumer防止数据丢失 Kafka学习之怎么保证不丢,不重复消费数据 1 消费者pull数据时,...

  • 数据可视化(学习笔记一)

    从此篇文章开始,记录一个数据小白的学习成长之路,初识,从数据可视化开始。 本文主要记录个人对于数据可视化的理解和学...

  • Kafka核心API——Stream API

    Kafka Stream概念及初识高层架构图 Kafka Stream是Apache Kafka从0.10版本引入...

  • 入门 Kafka必看

    初识 Kafka 什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区...

网友评论

      本文标题:我的大数据学习之路-初识Kafka

      本文链接:https://www.haomeiwen.com/subject/bkqlsqtx.html