文章目錄
- 前言
- 一、Kafka是什么?
- 二、安裝kafka
- 三、基本概念
- 四、單播模式和多播模式
前言
提示:這里可以添加本文要記錄的大概內容:
例如:隨著人工智能的不斷發展,機器學習這門技術也越來越重要,很多人都開啟了學習機器學習,本文就介紹了機器學習的基礎內容,
提示:以下是本篇文章正文內容,下面案例可供參考
一、Kafka是什么?
定義:Kafka是一個基于zookeeper協調的分布式、多副本的(replica)、支持磁區的(partition)系統,它的最大的特性就是可以實時的處理大量資料以滿足各種需求場景:比如基于hadoop的批處理系統、低延遲的實時系統、Storm/Spark流式處理引擎,web/nginx日志、訪問日志,訊息服務等等,用scala語言撰寫的專案,
二、安裝kafka
Kafka是用Scala語言開發的,運行在JVM上,在安裝Kafka之前需要先安裝JDK,
yum install java-1.8.0-openjdk* -y
kafka依賴zookeeper,所以需要先安裝zookeeper
docker pull zookeeper
docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper:latest
安裝kafka
docker pull wurstmeister/kafka
docker run -itd --name ag_kafka_v1 -p 192.168.48.128:6667:6667 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.48.128:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.48.128:6667 -e KAFKA_LISTENERS=PLAINTEXT://192.168.48.128:6667 --network ag_net wurstmeister/kafka /bin/bash
docker exec -it ag_kafka_v1 /bin/bash
find / -name server.properties
/opt/kafka_2.13-2.7.1/config/server.properties
vi /opt/kafka_2.13-2.7.1/config/server.properties
#broker.id屬性在kafka集群中必須要是唯一
broker.id=0
#kafka部署的機器ip和提供服務的埠號
listeners=PLAINTEXT://192.168.48.128:9092
#kafka的訊息存盤檔案
log.dir=/temp/kafka-logs
#kafka連接zookeeper的地址
zookeeper.connect=192.168.48.128:2181
保存退出:wq
退出容器:exit
docker restart ag_kafka_v1
三、基本概念
- Broker:訊息中間件處理節點,一個Kafka節點就是一個broker,一個或者多個Broker可以組成一個Kafka集群,
- Topic:Kafka根據topic對訊息進行歸類,發布到Kafka集群的每條訊息都需要指定一個topic,
- Producer:訊息生產者,向Broker發送訊息的客戶端,
- Consumer:訊息消費者,從Broker讀取訊息的客戶端,
- ConsumerGroup:每個Consumer屬于一個特定的ConsumerGroup,一條訊息可以被多個不同的Consumer Group消費,但是一個ConsumerGroup中只能有一個Consumer能夠消費該訊息,
- Partition:物理上的概念,一個topic可以分為多個partition,每個partition內部訊息是有序的,
說明:producer通過網路發送訊息到Kafka集群,然后consumer來進行消費,服務端(brokers)和客戶端(producer、consumer)之間通信通過TCP協議來完成,
四、單播模式和多播模式
單播消費
一條訊息只能被某一個消費者消費的模式,類似queue模式,只需讓所有消費者在同一個消費組里即可
分別在兩個客戶端執行如下消費命令,然后往主題里發送訊息,結果只有一個客戶端能收到訊息,
多播消費
一條訊息能被多個消費者消費的模式,類似publish-subscribe模式費,針對Kafka同一條訊息只能被同一個消費組下的某一個消費者消費的特性,要實作多播只要保證這些消費者屬于不同的消費組即可,我們再增加一個消費者,該消費者屬于testGroup-2消費組,結果兩個客戶端都能收到訊息,
# 總結 提示:這里對文章進行總結: 例如:以上就是今天要講的內容,本文介紹了kafka的基本概念以及安裝流程,單播模式和多播模式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/340645.html
標籤:AI
上一篇:生物資訊學競賽:糖尿病資料挖掘
