zoukankan      html  css  js  c++  java
  • kafka的安装和使用

     简单说kafka是一个高吞吐的分部式消息系统,并且提供了持久化。

     kafka的架构

    • producer:消息生存者
    • consumer:消息消费者
    • broker:kafka集群的server,负责处理消息读、写请求,存储消息
    • topic:消息队列/分类
    • Queue里面有生产者消费者模型
    • broker就是代理,在kafka cluster这一层这里,其实里面是有很多个broker
    • topic就相当于queue
    • 图里没有画其实还有zookeeper,这个架构里面有些元信息是存在zookeeper上面的,整个集群的管理也和zookeeper有很大的关系

    kafka的消息存储和生产消费模型

    • 一个topic分成多个partition
    • 每个partition内部消息强有序,其中的每个消息都有一个序号叫offset
    • 一个partition只对应一个broker,一个broker可以管多个partition
    • 消息不经过内存缓冲,直接写入文件
    • 根据时间策略删除,而不是消费完就删除
    • producer自己决定往哪个partition写消息,可以是轮询的负载均衡,或者是基于hash的partition策略

    有两个重要特点:(1)利用了磁盘连续读写性能远远高于随机读写的特点;(2)并发,将一个topic拆分多个partition(kafka读写的单位是partition).

    1.进入kafka2.10目录后,查看启动目录cat startkafka.sh

    2.更改配置文件conf/server.properties,修改broker.id(每台唯一)及更改zookeeper的主机名,端口号不用变,修改执行权限:chmod +x ./bin/*

    3.启动kafda:bash startkafka.sh

    4.使用过程

    创建topic 20160118
    ./bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 2 --partitions 2 --topic 20160118
    ./bin/kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181  --describe  --topic  20160118
    查看tocpic的目录
    ./bin/kafka-topics.sh --list --zookeeper  node1:2181,node2:2181,node3:2181(结果为20160118)
    查看tocpic的具体信息
    ./bin/kafka-topics.sh --describe --zookeeper node1:2181,node2:2181,node4:2181
        结果为:
        Topic:20160118    PartitionCount:2    ReplicationFactor:2    Configs:
        Topic: 20160118    Partition: 0    Leader: 2    Replicas: 2,0    Isr: 2,0
        Topic: 20160118    Partition: 1    Leader: 0    Replicas: 0,1    Isr: 0,1
    查看日志目录:ll /kafka-logs/
    发送信息: bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic 20160118
    接收信息: bin/kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic 20160118
    接收所有信息(包括之前发送的及未打开此命令时发送的消息):
    bin/kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic 20160118 --from-beginning

  • 相关阅读:
    防火墙透明模式
    HP管理工具System Management Homepage安装配置
    kbmmw 中JSON 中使用SQL 查询
    kbmmw 中JSON 操作入门
    第一个kbmmw for Linux 服务器
    kbmmw 5.02发布
    kbmmw 5.01 发布
    使用delphi 10.2 开发linux 上的Daemon
    使用unidac 在linux 上无驱动直接访问MS SQL SERVER
    使用delphi 10.2 开发linux 上的webservice
  • 原文地址:https://www.cnblogs.com/Mandylover/p/5143284.html
Copyright © 2011-2022 走看看