美文网首页
我的大数据学习之路-初识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

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