Kafka實現訊息生產和消費

2021-10-23 08:14:31 字數 2144 閱讀 9899

# 首先建立乙個主題

[root@192 kafka_2.12-2.2.1]# bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic heima --partitions 2 --replication-factor 1

–zookeeper:指定了kafka所連線的zookeeper服務位址

–topic:指定了所要建立主題的名稱

–partitions:指定了分割槽個數

–replication-factor:指定了副本因子

–create:建立主題的動作指令

# 展示所有主題

[root@192 kafka_2.12-2.2.1]# bin/kafka-topics.sh --zookeeper localhost:2181 --list

# 檢視主題詳情

[root@192 kafka_2.12-2.2.1]# bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic heima

# 啟動消費端接收訊息

[root@192 kafka_2.12-2.2.1]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.157.130:9092 --topic heima

–bootstrap-server 指定了連線kafka集群的位址

–topic 指定了消費端訂閱的主題

當前終端不要關閉,作為消費端,重新開啟乙個終端作為生產端:

[root@192 ~]# cd /opt

[root@192 opt]# cd kafka_2.12-2.2.1

# 生產端傳送訊息

[root@192 kafka_2.12-2.2.1]# bin/kafka-console-producer.sh --broker-list 192.168.157.130:9092 --topic heima

>hello 蔣輝,你個豬:

–broker-list 指定了連線的kafka集群的位址

–topic 指定了傳送訊息時的主題

通過訊息生產端發布了訊息,消費端接收到了訊息:

注意:在進行遠端連線時,需要將防火牆關閉掉才可以,否則連線不成功

/**

* kafka 訊息生產者

*/public

class

produce***ststart

catch

(exception e)

producer.

close();}}

通過訊息生產端傳送訊息"hello, kafka!",在虛擬機器的訊息的消費端可接收到訊息:

1、啟動下面這個kafka訊息消費者客戶端:

/**

* kafka 訊息消費者

*/public

class

consume***ststart}}

}

2、然後啟動訊息生產者客戶端,傳送訊息,訊息傳送成功後,將訊息消費者客戶端執行緒停止,可以收到訊息:

訊息生產者:

/**

* kafka 訊息生產者

*/public

class

produce***ststart

catch

(exception e)

producer.

close();}}

訊息消費者:

/**

* kafka 訊息消費者

*/public

class

consume***ststart}}

}

clickhouse消費kafka訊息

目錄 整體思路 知識點實施過程 一 kafka console consumer.sh 檢視topic訊息結構 二 clickhouse建立kafka引擎表 三 clickhouse建立merge引擎表 與roomchangedinfo kafka對應結構 四 建立物化檢視 這裡物化檢視起觸發器作用...

kafka線上無法消費訊息

我在一次使用kafka過程中,使用spring的kafka包。org.springframework.kafka spring kafka 2.0.5.release 在本地開發除錯中能夠正常的生產 消費訊息。但是在上線後,接收不到其他團隊生產的kafka。看日誌已經成功連線上broker伺服器,所...

Kafka生產者和消費者

一 生產者 1 分割槽的原因 方便在集群中擴充套件 每個分割槽都可以通過調整副本數,改變分割槽副本所佔的kafka節點。每個topic又有多個分割槽,這樣就可以靈活的改變集群的大小和所佔的機器數 可以提高併發 同乙個topic的資料,可以分散到不同的分割槽,而不同的分割槽資料可以被不同的consum...