kafka集群環境部署及相關操作

2021-10-02 07:32:51 字數 4287 閱讀 4626

2.kafka的shell操作

2.2生產資料

2.3消費資料

3.總結

安裝節點要求:

1.1上傳安裝包

put c:/kafka_2.11-1.1.1.tgz
1.2解壓

1.3配置環境變數

vim ~/.bash_profile
按g跳到最後一行按o向下插入,儲存退出

export path=

$path

:$kafka_home/bin

source ~/.bash_profile
1.4配置server.properties檔案
vim $kafka_home/config/server.properties
修改以下三個地方即可

broker.id=1 ## 當前kafka例項的id,必須為整數,乙個集群中不可重複

log.dirs=/home/hadoop/data/kafka ## 生產到kafka中的資料儲存的目錄,目錄需要手動建立

zookeeper.connect=hadoop01:2181,hadoo02:2181,hadoop03:2181/kafka ## kafka資料在zk中的儲存目錄

1.5同步到其他機器

傳送kafka

傳送配置檔案

scp -r ~/.bash_profile hadoop02:~/.bash_profile

scp -r ~/.bash_profile hadoop03:~/.bash_profile

source ~/.bash_profile
1.6建立資料目錄

給三颱機器都建立一下資料目錄

mkdir -p /home/hadoop/data/kafka
1.7啟動kafka服務

注意:啟動kafka之前要保證zookeeper已經開啟

可以用命令檢視kafka程序是否啟動

1.8驗證

進入zookeeper的客戶端

只要kafka的服務都在zookeeper中進行了註冊,便說明kafka已經安裝啟動成功

2.1topic的curd操作

2.1.1建立topic

kafka-topics.sh --create \

--topic hadoop \

--zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka \

--partitions 3 \

--replication-factor 3

注意:指定副本因子的時候,不能大於broker例項個數,否則報錯!2.1.2檢視topic的列表

kafka-topics.sh --list  \

--zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka

2.1.3檢視每乙個topic的資訊

2.1.4修改乙個topic

kafka-topics.sh --alter --topic hadoop --partitions 4 --zookeeper hadoop01:2181/kafka
注意:partition個數,只能增加,不能減少2.1.5刪除乙個topic

kafka-topics.sh --delete --topic test --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka
刪除之後可以檢視一下列表

kafka-topics.sh --list test --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka
可以發現topic hadoop 已經被刪除

2.2生產資料

2.3消費資料

在另一台機器上

沒資料,原因在於消費者後於生產者啟動,在消費者啟動之前生產者消費的資料變不能直接獲取,如果想要獲取消費者啟動之前生產者生產的資料,可以新增乙個引數–from-beginning

​ kafka消費者在消費資料的時候,都是分組別的。不同組的消費不受影響,相同組內的消費,需要注意,如果partition有3個,消費者有3個,那麼便是每乙個消費者消費其中乙個partition對應的資料;如果有2個消費者,此時乙個消費者消費其中乙個partition資料,另乙個消費者消費2個partition的資料。如果有超過3個的消費者,同一時間只能最多有3個消費者能消費得到資料。

offset是kafka的topic中的partition中的每一條訊息的標識,如何區分該條訊息在kafka對應的partition的位置,就是用該偏移量。offset的資料型別是long,8個位元組長度。offset在分區內是有序的,分區間是不一定有序。如果想要kafka中的資料全域性有序,就只能讓partition個數為1。

在組內,kafka的topic的partition個數,代表了kafka的topic的並行度,同一時間最多可以有多個執行緒來消費topic的資料,所以如果要想提高kafka的topic的消費能力,應該增大partition的個數

Kafka 集群部署

kafka是乙個分布式訊息佇列,需要依賴zookeeper,請先安裝好zk集群 kafka安裝包解壓 tar xf kafka 2.10 0.9.0.1 tgz mv kafka 2.10 0.9.0.1 usr kafka cd usr kafka 配置檔案 server.properties t...

kafka集群部署

一台伺服器上可以啟動多個broker例項,或者將broker部署到多台伺服器上,以下以172.16.50.21集群為例,多台伺服器上部署broker。tar xzf kafka 2.11 1.0.0.tgz cd kafka 2.11 1.0.0kafka依賴zookeeper,如果環境中沒有zoo...

Kafka集群部署

前提 在啟動kafaka集群,呼叫 bin kafka server start.sh config server.properties 前,需要把每台機器上zookeeper服務都給啟動了。zookeeper的安裝配置看,1 kafka集群規劃 s101 s102 s103 s104 zk zk ...