網頁

顯示具有 kafka 標籤的文章。 顯示所有文章
顯示具有 kafka 標籤的文章。 顯示所有文章

2020年9月28日 星期一

kafka 學習紀錄(架構名詞解說)

參考 Kaggle的解題挑戰 - Kafka簡介

Kafka: 分散式的訊息處理系統
Zookeeper: 底層的數據儲存
Broker: 接收來自 Producer 的訊息,交 Zookeeper 儲存,並回應 Consumer 的資料請求
Kafka Cluster: 由數個 Broker 組成
Producer: 訊息生產者,負責發布訊息到 kafka
Consumer: 訊息消費者,將訊息由 kafka 讀出
Topic: 訊息的種類,可視為 Producer 和 Consumer 的 Queue
Partition: Topic 分為數個 Partitions,同一個 Topic 的 Partition, 可以不在一個機器上
Retention: 設定存放在磁碟的時間
Multiple Clusters: Kafka 支援 Multiple Cluster,主要可以提高可用性和安全性
Consumer Group: 是由一個或多個消費者實例(Consumer Instance)組成的羣組,具有可擴展性和可容錯性的一種機制。消費者組內的消費者共享一個消費者組 ID,這個 ID 也叫做 Group ID,組內的消費者共同對一個主題進行訂閱和消費,同一個組中的消費者只能消費一個分區的消息

kafka 學習紀錄 (操作)

參考 Kaggle的解題挑戰 - Kafka實作

安裝
1. 到 kafka 網站 APACHE KAFKA
3. 下載 Binary download
nano@nano-desktop:~/Data/DeepStream$ tar -xzf kafka_2.13-2.6.0.tgz
nano@nano-desktop:~/Data/DeepStream$ cd kafka_2.13-2.6.0/

啟動 zookeeper
nano@nano-desktop:~/Data/DeepStream/kafka_2.13-2.6.0$ bin/zookeeper-server-start.sh config/zookeeper.properties

啟動 kafka
nano@nano-desktop:~/Data/DeepStream/kafka_2.13-2.6.0$ bin/kafka-server-start.sh config/server.properties

查詢目前 topic
nano@nano-desktop:~/Data/DeepStream/kafka_2.13-2.6.0$ bin/kafka-topics.sh --list --zookeeper localhost:2181

建立 topic test
nano@nano-desktop:~/Data/DeepStream/kafka_2.13-2.6.0$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

從 topic test 接收訊息
nano@nano-desktop:~/Data/DeepStream/kafka_2.13-2.6.0$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

傳送訊息到 topic test
nano@nano-desktop:~/Data/DeepStream/kafka_2.13-2.6.0$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>