一、下载Kafka

网址:Apache Kafka

二、解压并安装

1、解压缩并安装到指定目录

tar -vzxf kafka_2.12-2.8.0.tgz -C /u01/soft/kafka

2、创建数据目录

创建kafka数据目录和zk日志目录,默认放在/temp目录下

1)创建Kafka数据目录

mkdir /u01/soft/kafka/data/

2)创建zookeeper数据目录

mkdir /u01/soft/kafka/data_zk

3、修改kafka数据目录配置

vim /u01/soft/kafka/kafka_2.12-2.8.0/config/server.properties

log.dirs=/u01/soft/kafka/data

4、修改zk配置

vim /u01/soft/kafka/kafka_2.12-2.8.0/config/zookeeper.properties

dataDir=/u01/soft/kafka/data_zk

 zk默认端口为:2181也可修改

三、开启、关闭Kafka

1、开启与关闭zk

1)开启zk

[root@mydb kafka]# cd kafka_2.12-2.8.0/
[root@mydb kafka_2.12-2.8.0]# pwd
/u01/soft/kafka/kafka_2.12-2.8.0
[root@mydb kafka_2.12-2.8.0]# ./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
[root@mydb kafka_2.12-2.8.0]#

netstat -anpt | grep 2181

 zookeeper已启动

2)关闭zk

./bin/zookeeper-server-stop.sh ./config/zookeeper.properties

2、开启与关闭Kafka

1)开启Kafka

[root@mydb kafka_2.12-2.8.0]# pwd
/u01/soft/kafka/kafka_2.12-2.8.0
[root@mydb kafka_2.12-2.8.0]# ./bin/kafka-server-start.sh -daemon ./config/server.properties

安装java11后,才能使用jps命令,Kafka已启动

 2)关闭Kafka

./bin/kafka-server-stop.sh ./config/server.properties

四、验证Kafka

1、创建测试topic

cd /u01/soft/kafka/kafka_2.12-2.8.0/bin

[root@mydb bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test1

所有和主题相关的操作基本./bin/kafka-topics.sh这个脚本,--create创建操作,--zookeeper localhost:2181指定zookeeper,--replication-factor指定主题副本数,--partitions 1指定主题分区数,--topic指定主题名称

2、查看topic

[root@mydb bin]# ./kafka-topics.sh --list --zookeeper localhost:2181

 3、生产者发送消息

[root@mydb bin]# pwd
/u01/soft/kafka/kafka_2.12-2.8.0/bin
[root@mydb bin]# ./kafka-console-producer.sh --broker-list localhost:9092 --topic test1
>ni hao hello word my first kafka you name is one One
>mmm XXXX acasc, ascsa
>scasc

./bin/kafka-console-producer.sh生产者相关的操作由此脚本执行,--broker-list参数指定了所使用的broker,--topic指定要往哪个主题发送消息

4、消费者接收消息

[root@mydb bin]# pwd
/u01/soft/kafka/kafka_2.12-2.8.0/bin
[root@mydb bin]# ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test1 --from-beginning
ni hao hello word my first kafka you name is one One
mmm XXXX acasc, ascsa
scasc

./bin/kafka-console-consumer.sh消费者相关的操作由此脚本执行,新版本的kafka使用--bootstrap-server参数,0.8版本以前消费进度是直接写到 zookeeper 的,consumer 必须知道 zookeeper 的地址。这个方案有性能问题,0.9 的时候整体大改了一次,brokers 接管了消费进度,consumer 不再需要和 zookeeper 通信了。--topic指定消费的主题,--from-beginning表示从分区开头进行消费,即重新消费全部消息可以看到消费者已经成功到消息了

5、查看单个topic情况

[root@mydb bin]# ./kafka-topics.sh --zookeeper localhost:2181 --describe --topic test1
Topic: test1 TopicId: JkZCHO5oSbOF_8NsihfPNQ PartitionCount: 1 ReplicationFactor: 1 Configs:
Topic: test1 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
[root@mydb bin]#

6、删除topic

[root@mydb bin]# ./kafka-topics.sh --zookeeper localhost:2181 --delete --topic test1
Topic test1 is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.

将Kafka配置参文件中的参数做如下设置,则可以立马删除这个topic:

$KAFKA/config/server.properties中

delete.topic.enble=true

 



 posted on 2021-09-12 22:30  xibuhaohao  阅读(310)  评论(0)    收藏  举报