摘要:什么是是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費者規(guī)模的網(wǎng)站中的所有動作流數(shù)據(jù)。這些數(shù)據(jù)通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。高吞吐量即使是非常普通的硬件也可以支持每秒數(shù)百萬的消息。
Introduction
什么是kafka
Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費者規(guī)模的網(wǎng)站中的所有動作流數(shù)據(jù)。 這種動作(網(wǎng)頁瀏覽,搜索和其他用戶的行動)是在現(xiàn)代網(wǎng)絡(luò)上的許多社會功能的一個關(guān)鍵因素。 這些數(shù)據(jù)通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。 對于像Hadoop的一樣的日志數(shù)據(jù)和離線分析系統(tǒng),但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是通過Hadoop的并行加載機(jī)制來統(tǒng)一線上和離線的消息處理,也是為了通過集群來提供實時的消費。
kafka特性
通過O(1)的磁盤數(shù)據(jù)結(jié)構(gòu)提供消息的持久化,這種結(jié)構(gòu)對于即使數(shù)以TB的消息存儲也能夠保持長時間的穩(wěn)定性能。
高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒數(shù)百萬的消息。
支持通過Kafka服務(wù)器和消費機(jī)集群來分區(qū)消息。
支持Hadoop并行數(shù)據(jù)加載。
kafka術(shù)語含義
broker(代理)
Kafka集群包含一個或多個服務(wù)器,這種服務(wù)器被稱為broker
Topic
每條發(fā)布到Kafka集群的消息都有一個類別,這個類別被稱為Topic(可以理解為隊列queue或者目錄)。物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存于一個或多個broker上但用戶只需指定消息的Topic即可生產(chǎn)或消費數(shù)據(jù)而不必關(guān)心數(shù)據(jù)存于何處。
Partition
Parition是物理上的概念(可以理解為文件夾),每個Topic包含一個或多個Partition。
Producer
生產(chǎn)者,負(fù)責(zé)發(fā)布消息到Kafka broker。
Consumer
消息消費者,向Kafka broker讀取消息的客戶端。
Consumer Group
每個Consumer屬于一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬于默認(rèn)的group)。
同zk一樣在192.168.1.11,192.168.1.12,192.168.1.13三臺機(jī)器上安裝
zk集群準(zhǔn)備
kafka通過Zookeeper管理集群配置,選舉leader,以及在Consumer Group發(fā)生變化時進(jìn)行rebalance。Producer使用push模式將消息發(fā)布到broker,Consumer使用pull模式從broker訂閱并消費消息。雖然kafka自帶zk,不過只是standalone模式。zookeeper集群安裝可以看前面的文章。
download and install
wget http://mirrors.hust.edu.cn/ap...
mv kafka_2.12-0.11.0.1.tgz /usr/local
tar -xzf kafka_2.12-0.11.0.1.tgz
cd kafka_2.12-0.11.0.1.tgz
修改配置文件
vi config/server.properties
分發(fā)到另外2臺機(jī)器
scp -r /kafka_2.12-0.11.0.1 root@192.168.1.12:/usr/local
scp -r /kafka_2.12-0.11.0.1 root@192.168.1.12:/usr/local
分別修改server.properties中的broker.id的參數(shù),保證3個節(jié)點的值不重復(fù)
listeners 中的監(jiān)聽ip改成本機(jī)ip
然后分別啟動kafka服務(wù)
nohup /bin/kafka-server-start.sh config/server.properties > /dev/null &
檢查集群是否安裝成功
在192.168.1.13機(jī)器上創(chuàng)建一個topic
bin/kafka-topics.sh --create --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --replication-factor 3 --partitions 5 --topic kafka-distrub-test
在192.168.1.11上查看該topic的信息
bin/kafka-topics.sh --describe --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --topic kafka-distrub-test
返回結(jié)果如下則表示kafka集群安裝成功
如果將broker.id=2的機(jī)器上的kafka服務(wù)關(guān)閉,集群會自動重新選舉一個broker作為leader。所有kafka的動態(tài)擴(kuò)容是非常方便的。
因為我寫了個用java程序模擬consumer和producer,所有這里就不對這兩個命令做介紹了,demo地址:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/67680.html
摘要:項目地址前言大數(shù)據(jù)技術(shù)棧思維導(dǎo)圖大數(shù)據(jù)常用軟件安裝指南一分布式文件存儲系統(tǒng)分布式計算框架集群資源管理器單機(jī)偽集群環(huán)境搭建集群環(huán)境搭建常用命令的使用基于搭建高可用集群二簡介及核心概念環(huán)境下的安裝部署和命令行的基本使用常用操作分區(qū)表和分桶表視圖 項目GitHub地址:https://github.com/heibaiying... 前 言 大數(shù)據(jù)技術(shù)棧思維導(dǎo)圖 大數(shù)據(jù)常用軟件安裝指...
摘要:服務(wù)器基本信息地址安裝服務(wù)環(huán)境信息安裝三臺主機(jī)上執(zhí)行配置環(huán)境配置變量添加如下信息刷新配置文件安裝三臺主機(jī)上執(zhí)行安裝生成配置文件修改配置文件表示程序監(jiān)聽端口,表示選舉通信端口。 服務(wù)器基本信息 ip地址 安裝服務(wù)10.0.0.52 zookeeper-3.4.10、kafka2.10、kafka-manager10.0.0.53 zookeeper-3.4.10、kaf...
閱讀 1113·2021-11-19 09:40
閱讀 969·2021-11-12 10:36
閱讀 1259·2021-09-22 16:04
閱讀 3106·2021-09-09 11:39
閱讀 1266·2019-08-30 10:51
閱讀 1882·2019-08-30 10:48
閱讀 1221·2019-08-29 16:30
閱讀 464·2019-08-29 12:37