本次测试需要配置jdk(本文不过多讲解),ZooKeeper ,Kafka
下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/ 1.将安装包解压到指定目录:D:\apache-zookeeper\zookeeper-3.5.4-beta 2.将conf下的zoo_sample.cfg改成zoo.cfg 3.修改以下zookeeper数据和日志的位置,同时创建数据和日子的目录
dataDir=D:\apache-zookeeper\zookeeper-3.5.4-beta\data dtaLogDir=D:\apache-zookeeper\zookeeper-3.5.4-beta\log4.启动zookeeper服务 双击D:\apache-zookeeper\zookeeper-3.5.4-beta\bin下的zkServer.cmd 启动成功如图: ps:开启的服务不能关闭
下载地址:http://kafka.apache.org/downloads 1.将安装包解压到指定目录:D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0 2.修改conf中的server.properties数据,创建日志目录
log.dirs=D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0\logs zookeeper.connect=localhost:21813.在D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0目录下打开命令窗口并输入:
.\bin\windows\kafka-server-start.bat .\config\server.properties服务启动成功: ps:开启的服务不能关闭
1在D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0目录下打开命令窗口输入:
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic demo_01创建了一个叫demo_01的话题。 查看创建过的话题:.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
1在D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0目录下打开命令窗口输入:
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic demo_011在D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0目录下打开命令窗口输入:
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic demo_01 --from-beginning数据接受成功!
这次我们在本机上扩展到3个节点 1.首先将config/server.properties文件多复制两份
config/server-1.properties config/server-2.properties然后修改其中的三个值broker,listeners,log.dirs。 server-1:
broker.id=1 listeners=PLAINTEXT://:9093 log.dirs=D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0\logs-1server-2:
broker.id=2 listeners=PLAINTEXT://:9094 log.dirs=D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0\logs-22.启动server-1和server-2的服务 开启两个命令窗口,分别输入
.\bin\windows\kafka-server-start.bat config/server-1.properties & .\bin\windows\kafka-server-start.bat config/server-2.properties &3.创建一个副本为3的新topic
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic demo_024.查看代理
.\bin\windows\kafka-topics.bat --describe --zookeeper localhost:2181 --topic demo_02简单理解下Leader,Replicas,Isr的含义
Leader:负责给定分区读写操作的节点Replicas:复制分区的节点列表Isr:replicas列表的子集5.创建生产者(produce)和消费者(consumer)进行集群的测试 produce:
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic demo_02consumer:
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --from-beginning --topic demo_026.测试容错性 现在使用的节点是Broker 0,杀掉这个节点
> wmic process where "caption = 'java.exe' and commandline like '%server.properties%'" get processid ProcessId 10996 > taskkill /pid 10996/f再次查看节点信息: 如图:Leader节点已经改变,Isr也已经删除。
测试消息发送情况: 消息的发送没有问题。
1创建一个文本文件并输入值
> echo foo> test.txt > echo bar>> test.txt2启动2个独立的连接器,源连将数据读取输入到Kafka的topic里(生产者),接收器连接器从topic中读取消息,并输出文件中生成一行。
.\bin\windows\connect-standalone.bat config\connect-standalone.properties config\connect-file-source.properties config\connect-file-sink.properties查看结果:
> more test.sink.txt使用控制台消费者:
> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning