Loading

二、kafka的环境部署+命令行

1、kafka的安装部署

因为我这边只有一个阿里云服务器,且配置贼低,所以我就不部署集群,直接部署一个单机版的测试玩玩

1)新建soft文件夹,并将kafka的jar上传到该文件夹下

clipboard

 

2)解压压缩包,并将解压后的文件名改为 kafka

tar -zxvf kafka_2.11-0.11.0.0.tgz mv kafka_2.11-0.11.0.0 kafka

clipboard

 

3)在kafka文件下创建log文件夹

clipboard

 

4)备份并修改kafka的配置文件server.properties

cp server.properties server.properties.back vim server.properties

修改内容参考如下:

clipboard

 

本地做的修改主要是:

broker.id=0

delete.topic.enable=true

log.dirs=/soft/kafka/logs

zookeeper.connect=121.40.182.123:2181

 

5)启动 kafka

bin/kafka-server-start.sh -daemon config/server.properties

 

6)查看kafka是否正常启动

jps

clipboard

 

2、kafka的命令行操作

1)查看当前kafka服务器中的所有Topic

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list

clipboard

 

2)创建topic

选项说明:

--topic 定义 topic 名

--replication-factor 定义副本数 (副本数不能超过 broker的数量)

--partitions 定义分区数

 

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --create --topic first --replication-factor 1 --partitions 1

clipboard

查看上述配置的logs文件夹,发现多了个first-0文件夹(主题+分区号)

===》 kafka的消息是存储到磁盘的

clipboard

 

3)删除topic

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --delete --topic first

 

4)查看topic的详情

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --descripe --topic first

clipboard

 

5)修改分区数

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter --topic first --partitions 6

 

6)发送消息

bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic first

 

7)消费消息

bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic first

clipboard

上面这种消费方式,当生产者发送消息时,消费者不在线,然后消费者启动后,消费不到生产者刚刚发送的消息

--from-beginning:会将主题中以往的所有数据都消费到

bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --from-beginning --topic first

clipboard

posted @ 2021-08-29 10:09  青岑  阅读(89)  评论(0编辑  收藏  举报