• kafka基础知识


     1.kafka分区,副本

    kafka 每个主题在结构上有一个或者多个分区构成,分区数可以在创建主题时指定,也可以在主题创建之后修改,由kafka-topic.sh修改,但是只能增加不能减少分区数。

    每个分区有一个副本或者多个副本组成,挑选其中一个副本作为leader,其它的为follower,

    leader负责读写操作,接受生产者将消息发送,follower只从leader同步数据。

     2. 日志结构

    每个分区对应一个物理目录,每个分区至少有一个副本,每个副本分布在不同节点上,对应分区的日志

    .log    日志文件  任何发布到分区的消息都会被直接追加到该日志文件
    .index  消息偏移量索引文件
    .timeindex  消息时间戳索引文件
    

    3. IST kafka在zookeeper中动态维护了一个ISR(In-sync Replica),即同步保存副本列表,即所有副本对应节点id

    4.启动kafka

    bin目录下

    ./kafka-server-start.sh -daemon ../config/server.properties
    

    5.查看java进程

    [root@docp-n bin]# jps
    2032 Kafka
    5188 Jps
    5157 Kafka
    1755 QuorumPeerMain
    

     启动两个kafka

    6.通过zookeeper 客户端登录zookeeper查看目录结构

    ./zkCli.sh -server localhost:2181 

    [root@docp-n bin]# ./zkCli.sh -server localhost:2181
    Connecting to localhost:2181
    Welcome to ZooKeeper!
    JLine support is enabled
    
    WATCHER::
    
    WatchedEvent state:SyncConnected type:None path:null
    [zk: localhost:2181(CONNECTED) 0] ls /brokers/ids   #查看已启动的节点
    [0, 1]
    

    7.伪分布

    在一个节点可以启动多个kafka,指定另一个配置文件即可,需要修改节点id

    ./kafka-server-start.sh -daemon ../config/server.properties-1
    

    8.集群

    集群修改 conf/server.properties 下的 zookeeper.connect即可

    zookeeper.connect=docp1:2181,10.0.1.222:2181
    
  • 相关阅读:
    shell脚本查找tcp过多ip地址封掉
    tomcat日志传参乱码问题
    nginx部署vue跨域proxy方式
    nginx部署VUE跨域访问api
    springboot2.1.3 + redisTemplate + Lock 操作 redis 3.0.5
    java8 lamb表达式对List排序
    Mysql5.7降级到5.6遇到的坑
    mac中git使用
    mac中git flow使用
    mac安装openjdk8-maven-mysql-git-docker
  • 原文地址:https://www.cnblogs.com/sunshine-long/p/9842015.html
Copyright © 2020-2023  润新知