zoukankan      html  css  js  c++  java
  • bd——kafka

    基本概念

    (1) 什么是kafka:大吞吐量,内置分区,可以进行数据备份,同时具备数据容错性的消息系统。

    ① Kafka可以完成在线或者离线数据消费,所谓离线数据消费实际上就是kafka将消息数据保留在磁盘上。

    ② kafka会做数据备份,防止节点宕机从而导致数据丢失。

    ③ 和spark产品的整合性非常好,可以完成实时的大数据分析

    ④ kafka的节点可以无限扩容

    (2) 什么是消息系统:将数据从一个应用程序传递到另一个应用程序,分布式系统利用消息系统,在多应用之间进行高效、稳定、安全的数据传递。

    (3) 两种消息模式

    ① 点对点:若干个生产和消费者,处理队列当中的数据,一旦该数据被消费,则从队列当中被移除。(多线程:生产消费者模型)

    ② 发布-订阅:消息是被保留在主题当中,消费者消费一个或者若干个主题当中的消息

    (4) 术语:

    ① Topics

    ② Partition

    ③ Offset

    ④ Brokers

    ⑤ Kafka Cluster

    (5) 发布和订阅的流程

    ① 生产者向主题当中提交消息,代理将主题当中的数据在主题的分区当中依次保存;

    ② 消费者向代理请求获取消息,代理向消费者提供偏移量,消费者根据偏移量要求获取消息。

    ③ 消费者排队的前提,消费者数量大于分区数量

    部署环境

    环境变量配置

    【1】Kafka

    【2】Scala

    ==========伪集群搭建:server.properties * 3

    broker.id=1 //配置代理id
    port=9091 //端口号
    host.name=192.168.92.102 //主机地址

    log.dirs=/hadoopserver/kafka_2.12-2.3.0/zkLogs/log01 //日志地址

    zookeeper.connect= 192.168.92.102:2181,192.168.92.102:2182,192.168.92.102:2183 //zk连接地址

    ====

    启动顺序:先启动ZK,然后才是kafka

    kafka-server-start.sh ./server1.properties

    关闭集群:注意修改脚本!

    kafka shell操作

    获取端口的主题列表: kafka-topics.sh --list --zookeeper 192.168.92.102:2183

    创建主题:数据副本与主题分区【个数】 kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic hello_kafka_10

    生产者生产消息【支持多个数据分区生产】: kafka-console-producer.sh --broker-list 192.168.92.102:9092,192.168.92.102:9091,192.168.92.102:9093 --topic hello_kafka_10

    消费者消费消息【注意:消费同一个主题】:kafka-console-consumer.sh --bootstrap-server 192.168.92.102:9093 --topic hello_kafka_10 &

  • 相关阅读:
    Python3常用内置函数
    你所不知道的Python奇技淫巧
    Django1.8教程——从零开始搭建一个完整django博客(三)
    Django1.8教程——从零开始搭建一个完整django博客(二)
    Django1.8教程——从零开始搭建一个完整django博客(一)
    Django1.8教程——安装Django
    Django实际站点项目开发经验谈
    docker swarm集群搭建
    kubernetes 集群的安装部署
    linux下简洁优化部署tomcat应用
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13664738.html
Copyright © 2011-2022 走看看