近期在搞kafka,在Windows环境搭建的过程中遇到一些问题,把具体的流程几下来防止后面忘了。

准备工作:

1.安装jdk环境

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.下载kafka的程序安装包:

http://kafka.apache.org/downloads

解压文件提取出里面的文件

在cmd命令行打开至根目录下,内容如下:

windows本地启动kafka发送消息 windows部署kafka_kafka


(1).bin目录下存放的是程序运行时使用的脚本文件,window平台是一个独立的文件夹里面存放着 .bat 文件,bin的目录下存放的是 Linux 平台使用的 .sh 的shell脚本,在window平台上用不到,嫌麻烦可以删了。

(2).config目录下存放的是一些程序运行的配置文件,在后期自定义使用kafka的时候需要修改里面的文件内容。

(3).libs目录是打包好的jar包,这个版本自带了zookeeper的jar包,所以在安装的过程中不需要再在本地安装zookeeper了。

  1. 启动zookeeper:
    在正常启动zoopkeeper之前需要修改zookeeper.properties的文件内容,将其data的输出目录指定一下,可自行创建一个文件夹如下:

    然后启动:
bin\windows\zookeeper-server-start.bat config\zookeeper.properties

正常启动后他的状态是这样的:

windows本地启动kafka发送消息 windows部署kafka_java_02


3. 启动kfaka服务:

在启动前,任然需要修改server.properties中log.dir的配置目录,

windows本地启动kafka发送消息 windows部署kafka_kafka_03


修改后,启动服务:

windows本地启动kafka发送消息 windows部署kafka_java_04


4. 创建一个主题:

bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kjTest

windows本地启动kafka发送消息 windows部署kafka_java_05

可以使用如下命令查看创建的主题列表:

bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

windows本地启动kafka发送消息 windows部署kafka_kakfa-大数据_06


5. 启动生产者:

bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic kjTest

windows本地启动kafka发送消息 windows部署kafka_java_07

此时可以从控制台输入信息,待消费者启动后可接收到生产者发布的消息。

windows本地启动kafka发送消息 windows部署kafka_kakfa-大数据_08


6. 启动消费者:

bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic kjTest --from-beginning

此时便能看到发布出去的消息了

windows本地启动kafka发送消息 windows部署kafka_kafka_09


7. 在后期还可以启动多个集群服务,同时进行操作,修改server.properties中的内容:便可启动,与上相似。

config/server-1.properties:
        broker.id=<new id>
      listeners=PLAINTEXT://:<new port>
    log.dir=<you log dir>
操作步骤:

1).分别启动需要的kafka服务

windows本地启动kafka发送消息 windows部署kafka_kakfa-大数据_10

windows本地启动kafka发送消息 windows部署kafka_kakfa-大数据_11


2). 创建主题,设置分区数目

windows本地启动kafka发送消息 windows部署kafka_kakfa-大数据_12


可以使用下面的命令查看是否创建成功,和具体的分区

windows本地启动kafka发送消息 windows部署kafka_zookeeper_13


3). 分别启动生产者消费者

windows本地启动kafka发送消息 windows部署kafka_java_14

windows本地启动kafka发送消息 windows部署kafka_kafka_15


4). 可以查看下当前工作状态

windows本地启动kafka发送消息 windows部署kafka_zookeeper_16


查看得当前服务使用的是broker编号为2的服务,但我们将其down掉后

windows本地启动kafka发送消息 windows部署kafka_java_17


再次执行消息发送任务:

windows本地启动kafka发送消息 windows部署kafka_kakfa-大数据_18

windows本地启动kafka发送消息 windows部署kafka_java_19


消息仍能发送成功,命令行中会提示一个服务已关闭。

就查看当前状态:

windows本地启动kafka发送消息 windows部署kafka_java_20


此时的leader换成了broker 0


参考资料:http://kafka.apache.org/quickstart