zoukankan      html  css  js  c++  java
  • java-kafka概述及zookeeper安装

    本章目录

      一 kafka简介

      二 kafka安装

      三 kafka测试

      四 zk安装

     

    一 kafka简介

      1、角色:

        broker(一个kafka节点)

        producers(生产者)

        topic(主题)

        consumers(消费者,消费者可以配置组,让这一组消费哪个主题,在一个分区中的生产与消费是有序的)

        partition(topic的分区数,即代表这个topic数据分成几份)

        副本(topic的副本数,万一有的节点挂掉了,可以保证数据不丢失)

        offset(消费的偏移量,保证消费的有序性)

      2、需要zk集群,为什么?(zk在kafka中占据核心地位的

        2.1 管理着所有 broker 节点。

        2.2 主题管理:topic怎么创建,分区,副本怎么放,消费者如何消费,由zk管理。

        2.3 记录offset。

        2.4 管理者消费者组:一个消费者组创建之后,来消费一个topic(消费者组是为了提高对topic的消费速度)

      3、优势

        高吞吐量:零拷贝,Netty的网络传输。

        数据保存:数据默认保存7天。

        偏移量管理:offset会更新到一个kafka自带的topic【__consumer_offsets】

    二 kafka安装:

      解压:

        tar gz -C 目录

      配置:

        config/server.properties:

          broker.idbroker集群中唯一标识id,0、1、2、3依次增长(broker即Kafka集群中的一台服务器))

          log.dirs=真实数据存储路径

          zookeeper.connect=node01:2181,node02:2181,node03:2181(需要zk集群)

      启动:

        bin/kafka-server-start.sh config/server.properties  //启动kafka,且指定要读取哪个配置文件

    三 kafka测试:(一般的使用都是整合其他中间件使用,比如filebeat,flume等)

      查看帮助手册:

        bin/kafka-console-consumer.sh help

      查看topic列表:

        bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --list

      查看“test”topic描述:

        bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --describe --topic test

      Topic创建

        bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --create --replication-factor 2 --partitions 3 --topic test

        (参数说明:

          --replication-factor:副本个数,默认1个

          --partitions:指定当前创建的topic分区数量,默认1个(向几个分区中分发数据,此时一个分区有序,整体无序)

          --topic:指定新建topic的名称

        )

      Producer创建(往主题中生产数据)

        bin/kafka-console-producer.sh --broker-list node06:9092,node07:9092,node08:9092 --topic test

     

      Consumer创建(消费某主题的数据)

        bin/kafka-console-consumer.sh --zookeeper node06:2181,node07:2181,node08:2181 --from-beginning --topic test

        (参数说明:

          --from-beginning 从头消费

        )

      

    四 zk安装:

      1:解压 tar  -zxvf   zookeeper.tar.gz

      2:修改 zoo.cfg 配置文件

        cp  zooo_sample.cfg  zoo.cfg

        vi  zoo.cfg

    dataDir= /opt/zk/data     //修改dataDir的目录,用户数据持久化的,这个目录自定义位置
    #在zoo.cfg末尾添加以下内容
    #2888 集群内机器通讯使用
    #3888 选举leader使用
    #2181 这个端口号是供外部客户端使用的,配置文件中的clientport
    #使用node01 node02 node03是配置了hosts文件,做了ip与名称的映射 server.
    1=node01:2888:3888 server.2=node02:2888:3888 server.3=node03:2888:3888  

      3:myid(在dataDir目录下)  

        echo 1 > /opt/zk/data/myid(上面配置的三个服务器对应的myid是1 2 3)

      4:启动(每个节点都启动)

        zkServer.sh start

  • 相关阅读:
    Activiti服务类-4 HistoryService服务类
    Activiti服务类-3 FormService服务类
    知识碎片
    web 框架
    pymysql 模块
    Bootstrap-按钮
    Bootstrap-下拉菜单
    前端之jQuery03 插件
    Python打印进度条
    JavaScript碎片
  • 原文地址:https://www.cnblogs.com/dblog/p/12206125.html
Copyright © 2011-2022 走看看