因為我這邊隻有一個阿裡雲伺服器,且配置賊低,是以我就不部署叢集,直接部署一個單機版的測試玩玩
tar -zxvf kafka_2.11-0.11.0.0.tgz mv kafka_2.11-0.11.0.0 kafka
cp server.properties server.properties.back vim server.properties
修改内容參考如下:
本地做的修改主要是:
broker.id=0
delete.topic.enable=true
log.dirs=/soft/kafka/logs
zookeeper.connect=121.40.182.123:2181
bin/kafka-server-start.sh -daemon config/server.properties
jps
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
選項說明:
--topic 定義 topic 名
--replication-factor 定義副本數 (副本數不能超過 broker的數量)
--partitions 定義分區數
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --create --topic first --replication-factor 1 --partitions 1
檢視上述配置的logs檔案夾,發現多了個first-0檔案夾(主題+分區号)
===》 kafka的消息是存儲到磁盤的
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --delete --topic first
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --descripe --topic first
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter --topic first --partitions 6
bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic first
bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic first
上面這種消費方式,當生産者發送消息時,消費者不線上,然後消費者啟動後,消費不到生産者剛剛發送的消息
--from-beginning:會将主題中以往的所有資料都消費到
bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --from-beginning --topic first