java-kafka概述及zookeeper安装

本章目录node

  一 kafka简介服务器

  二 kafka安装网络

  三 kafka测试测试

  四 zk安装spa

 

一 kafka简介code

  一、角色:server

    broker(一个kafka节点)中间件

    producers(生产者)blog

    topic(主题)ip

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

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

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

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

  二、须要zk集群,为何?(zk在kafka中占据核心地位的

    2.1 管理着全部 broker 节点。

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

    2.3 记录offset。

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

  三、优点

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

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

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

二 kafka安装:

  解压:

    tar gz -C 目录

  配置:

    config/server.properties:

      broker.idbroker集群中惟一标识id,0、一、二、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

相关文章
相关标签/搜索