Apache kafka本地部署测试

it2022-05-05  150

本地环境

本次测试需要配置jdk(本文不过多讲解),ZooKeeper ,Kafka

1安装zookeeper服务

下载地址: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\log

4.启动zookeeper服务 双击D:\apache-zookeeper\zookeeper-3.5.4-beta\bin下的zkServer.cmd 启动成功如图: ps:开启的服务不能关闭

2安装kafka

下载地址: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:2181

3.在D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0目录下打开命令窗口并输入:

.\bin\windows\kafka-server-start.bat .\config\server.properties

服务启动成功: ps:开启的服务不能关闭

3创建主题—topic

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

4创建生产者(producer)并发送一些消息

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_01

5创建消费者(consumer)接受消息

1在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

数据接受成功!

6多代理集群

这次我们在本机上扩展到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-1

server-2:

broker.id=2 listeners=PLAINTEXT://:9094 log.dirs=D:\kafka_2.12-2.3.0\kafka_2.11-2.3.0\logs-2

2.启动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_02

4.查看代理

.\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_02

consumer:

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --from-beginning --topic demo_02

6.测试容错性 现在使用的节点是Broker 0,杀掉这个节点

> wmic process where "caption = 'java.exe' and commandline like '%server.properties%'" get processid ProcessId 10996 > taskkill /pid 10996/f

再次查看节点信息: 如图:Leader节点已经改变,Isr也已经删除。

测试消息发送情况: 消息的发送没有问题。

7Kafka Connect实现导入导出

1创建一个文本文件并输入值

> echo foo> test.txt > echo bar>> test.txt

2启动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


最新回复(0)