kafka伪分布式环境部署

一、介绍

  • kafka启动时需要加载一个用于KafkaServer初始化相关配置的server.properties文件,当然文件名可以任意,一个server.properties对应一个KafkaServer实例,Kafka伪分布式就是在一台机器上启动多个KafkaServer来达到多代理的效果,因此需要保证broker.id以及port在同一台机器上启动多个server.properties中唯一。

二、server.properties配置

  • 重新copy一份或多份...\conf\server.properties命名为server-1.properties、server-2.properties...
  • 由于默认端口是9092,而server.properties没有设置端口,则采用的是默认端口。因此此处我将server-1.properties端口设置为9093,这个端口可以自定义,只要木有被占用即可。
  • 分别将broker.id设为new id,log.dirs设为new 路径。

server.properties

broker.id=0
port=9092
log.dir=/tmp/kafka-logs-0
host.name=cent
zookeeper.connect=cent:2181

server-1.properties

broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
host.name=cent
zookeeper.connect=cent:2181

server-2.properties

broker.id=2
port=9094
log.dir=/tmp/kafka-logs-2
host.name=cent
zookeeper.connect=cent:2181

三、分别启动broker.id为0、1、2的三个KafkaServer:

  • 要先启动zookeeper

    • 进入bin
      cd D:\zookeeper-3\zookeeper-3.5.3-beta\bin
      
    • 执行
      zkServer.cmd 
      
  • 然后启动三个代理broker

.\bin\windows\kafka-server-start.bat .\config\server.properties
.\bin\windows\kafka-server-start.bat .\config\server-1.properties
.\bin\windows\kafka-server-start.bat .\config\server-2.properties
  • 再次执行jps命令查看Java进程消息,打印输出如下消息
18692 Kafka
26164 QuorumPeerMain
6996  Kafka
21192 Kafka
15500 Jps

四、测试

  • 创建一个拥有3个副本的topic:

    • 打开cmd

      cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows
      
    • 创建topic:

      kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
      
  • 如图


  • 查看每个节点信息

    • 打开cmd
      cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows
      
    • 查看节点:
      kafka-topics.bat --describe --zookeeper localhost:2181 --topic my-replicated-topic个拥有3个副本的topic:
      
  • 生产消息

    • 打开cmd
      cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows
      
    • producer:
      kafka-console-producer.bat --broker-list localhost:9092 --topic my-replicated-topic
      
  • 消费消息

    • 打开cmd
      cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows
      
    • consumer:
      kafka-console-consumer.bat –zookeeper localhost:2181 –from-beginning –topic my-replicated-topic
      

你可能感兴趣的:(kafka伪分布式环境部署)