Kafka(二): Kafka 集群部署与使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/congcong68/article/details/72594067

一、Kafka 集群部署                                                           

     

    Kafka是一种分布式的发布(producer/订阅(consumer)的消息系统,并支持实时和离线的数据处理、可扩展、持久的。上一次已经对kafka做了介绍,今天我们介绍如何部署、创建主题并发布消息和订阅消息

     1、两个虚拟机:192.168.2.200192.168.2.201

   2、kafka下载地址:http://kafka.apache.org/downloads ,我下载的是最新版本kafka_2.12-0.10.2.1.tgz

   3、对两个虚拟机分别解压

     > tar -xzf kafka_2.12-0.10.2.1.tgz
     > cd kafka_2.12-0.10.2.1.tgz

   4、配置 config/server.properties 文件

        broker.id=200 / broker.id=201

        zookeeper.connect=192.168.2.200:2181,192.168.2.201:2181

 

       broker.id:每一个broker在集群中的唯一表示,要求是正数

       zookeeper.connect:zookeeper集群的地址,可以是多个,多个之间用逗号分割。


      5Kafka依zookeeperkafka的集群的meta信息保存在zookeeper上,zookeeper管理consumeroffset,通过zookeeper的分布式系统协调来保证Kafka 集群的稳定性。Zookeeper的安装配置、并启动zookeeper


     6zookeeper集群先启动,然后启动192.168.2.200192.168.2.201虚拟机上的kafkaserver

       

      >bin/kafka-server-start.sh config/server.properties &
           

           

 

      创建主题并发布消息和订阅消息


  二、创建主题                                                                                                         

   创建了主题名my-test-topic2个分区,一个副本

      >bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 2 --topic my-test-topic
 

  主题信息

     1、查看哪些主题列表     

      >bin/kafka-topics.sh --list --zookeeper localhost:2181

         

     2、具体查看某个主题的描述信息         

       >bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-test-topic
           

       第一行描述了my-test-topic主题的信息、正如我们之前的创建的两个分区、一个副本。接下去每一个描述对应的各个分区的情况,有多少个分区就有对应几行。

       Leader:负责处理消息的读和写,Leader是从所有节点中随机选择的.

       Replicas:分区对应的副本。

       Isr:副本所在的server 节点。

       

 三、发布消息和订阅消息                                                                                              

   1、发布消息       

        >bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-test-topic
                

        

         1)查看发布者         

       >./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic  my-test-topic
          my-test-topic:1:1
          my-test-topic:0:1

   2、订阅消息

      >bin/kafka-console-consumer.sh --bootstrap-server localhost:9092  --topic my-test-topic --from-beginning

                      

      1)查看订阅描述信息     

      >bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer.config group.id:test-consumer-group --topic my-test-topic --from-beginning


[2017-05-20 08:35:26,396] WARN WARNING: ConsumerOffsetChecker is deprecated and will be dropped in releases following 0.9.0. Use ConsumerGroupCommand instead. (kafka.tools.ConsumerOffsetChecker$)

Exiting due to: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /consumers/test-consumer-group/offsets/my-test-topic/0.

  0.9.0.版本后对kafka.tools.ConsumerOffsetChecker命令就不在支持了。

 

           2)查看消费组 

            >bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

                 

 

           3)查看具体的消费者信息

       >bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --describe --group console-consumer-44096

         

 

       4)我们在消费时指定消费组,config/consumer.properties配置的group.id

         >bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer.config  config/consumer.properties  --topic my-test-topic --from-beginning
                       


五、删除主题                                                                                                           

 1、删除Broker

     >jps
     >Kill -9 进程ID


  2、删除主题

    >bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic my-test-topic



猜你喜欢

转载自blog.csdn.net/congcong68/article/details/72594067
今日推荐