大資料學習之 Kafka 篇

2021-09-29 23:33:36 字數 1881 閱讀 3104

一:簡介

一種分布式的基於發布/訂閱的訊息系統

二:場景

常用組合:常用 flume (收集資料) --> kafka(把收集來的資料儲存到kafka) --> spark streaming(使用spark streaming 從kafka中取資料)

運用場景:1.系統之間的解耦合 2.峰值壓力緩衝 3.非同步通訊

三:特點

1.訊息持久化 2.高吞吐量 3.分布式 4.多客戶端支援 5. 實時性

基本元件:

1.broker :負責資料的獨寫請求,儲存訊息;

2.product :往kafka中生產資料 ;

3.consumer : 從kafka中取資料;

4.topic : 用來資料的分類 ,不同消費者去指定的topic中讀,不同的生產者往不同的topic中寫 ;

5.partition :乙個 topic 分為多個partition, 在topic的基礎上進一步分割槽,在partition中每個資料都有乙個offset記錄位置資訊 producer 往partition中寫資料,並給每乙個資料中設定offset記錄位置 (順序是強有序的) 乙個consumer 一次只能讀乙個partition中的資料

6.zookeeper負載均衡:將topic分成多個分割槽,每個broker儲存乙個或多個partition(用來協調broker)

四:kafka 環境搭建

(1)解壓

(2)在conf下 把zoo_sample.cfg 檔案改名為 zoo.cfg

(3)vim  zoo.cfg 修改以下配置

clientport=2181

server.1=127.0.0.1:12888:1288

server.2=127.0.0.1:13888:1388

server.3=127.0.0.1:14888:1488

datadir=../zkdata

datalogdir=../zklog

(4)在zookeeper-3.4.14\zkdata 下建立myid檔案

內容為1

(5)修改每乙個集群下的zoo.cfg檔案 並且建立myid檔案

(1)解壓

(2)修改 config/server.properties 檔案 內容如下

三個集群分別為

broker.id=0 broker.id=1 broker.id=2

port=9092 port=9093 port=9094

log.dirs=/tmp/kafka-logs log.dirs=/tmp/kafka-logs-1 log.dirs=/tmp/kafka-logs-2

五:kafka的命令

啟動kafka:

kafka-server-start.bat ../../config/server.properties

建立topic:

kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test

檢視topic:

kafka-topics.bat --list --zookeeper localhost:2181

傳送訊息:

kafka-console-producer.bat --broker-list localhost:9092 --topic test

接收訊息:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test --from-beginning

大資料 kafka學習基礎篇

一.訊息佇列的兩個模式和特點 兩個模式 點對點模式 一對一,消費者主動拉取資料,訊息收到後訊息清楚 發布 訂閱模式 一對多,資料生產後,推送給所有訂閱者 8大特點 1.解耦 2.冗餘 3.擴充套件性 4.靈活性 峰值處理能力 5.可恢復性 6.順序保證 7.緩衝 8.非同步通訊 佇列 先進先出 棧 ...

大資料面試之Kafka

1 producer 訊息的生產者,主要是用於生產訊息的。主要是接入一些外部的資料來源,從外部獲取資料,比如說我們可以從flume獲取資料,還可以通過ftp傳入資料等,還可以通過kafka的api生產資料,通過push的方式,主動的將資料推送到kafka的topic當中去 2 topic 主題,裡面...

大資料開發之kafka安裝

安裝kafka前需要安裝zookeeper,參考 二 解壓安裝包 root hlh001 software tar zxvf kafka 2.11 0.11.0.0.tgz c opt module 三 修改解壓後的名稱 root hlh001 module mv kafka 2.11 0.11.0...