Kafka集群部署及簡單使用

2021-09-12 08:56:01 字數 4808 閱讀 4516

1)解壓安裝包

[atguigu@hadoop102 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -c /opt/module/

2)修改解壓後的檔名稱

[atguigu@hadoop102 module]$ mv kafka_2.11-0.11.0.0/ kafka

3)在/opt/module/kafka目錄下建立logs資料夾

[atguigu@hadoop102 kafka]$ mkdir logs

4)修改配置檔案

[atguigu@hadoop102 kafka]$ cd config/

[atguigu@hadoop102 config]$ vi server.properties

輸入以下內容:

#broker

的全域性唯一編號,不能重複

broker.id=0

#刪除topic功能使能

delete.topic.enable=true

#處理網路請求的執行緒數量

num.network.threads=3

#用來處理磁碟io的現成數量

num.io.threads=8

#傳送套接字的緩衝區大小

socket.send.buffer.bytes=102400

#接收套接字的緩衝區大小

socket.receive.buffer.bytes=102400

#請求套接字的緩衝區大小

socket.request.max.bytes=104857600

#kafka執行日誌存放的路徑

log.dirs=/opt/module/kafka/logs

#topic在當前broker上的分割槽個數

num.partitions=1

#用來恢復和清理data下資料的執行緒數量

num.recovery.threads.per.data.dir=1

#segment檔案保留的最長時間,超時將被刪除

log.retention.hours=168

#配置連線

zookeeper

集群位址

zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181

5)配置環境變數

[root

@hadoop102 module]# vi /etc/profile

#kafka_home

export kafka_home=/opt/module/kafka

export path=$path:$kafka_home/bin

[root

@hadoop102 module]# source /etc/profile

6)分發安裝包

[root

@hadoop102 etc]# xsync profile

[atguigu@hadoop102 module]$ xsync kafka/

7)分別在hadoop103和hadoop104上修改配置檔案/opt/module/kafka/config/server.properties中的broker.id=1

、broker.id=2

注:broker.id不得重複

8)啟動集群

依次在hadoop102、hadoop103、hadoop104節點上啟動kafka

[atguigu@hadoop102 kafka]$ bin/kafka-server-start.sh config/server.properties &

[atguigu@hadoop103 kafka]$ bin/kafka-server-start.sh config/server.properties &

[atguigu@hadoop104 kafka]$ bin/kafka-server-start.sh config/server.properties &

9)關閉集群

[atguigu@hadoop102 kafka]$ bin/kafka-server-stop.sh stop

[atguigu@hadoop103 kafka]$ bin/kafka-server-stop.sh stop

[atguigu@hadoop104 kafka]$ bin/kafka-server-stop.sh stop

1)檢視當前伺服器中的所有topic

[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --

list

2)建立topic

[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --

create

--replication-factor 3 --partitions 1 --topic first

選項說明:

--topic 定義topic名

--replication-factor  定義副本數

--partitions  定義分割槽數

3)刪除topic

[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --

delete

--topic first

需要server.properties中設定delete.topic.enable=true否則只是標記刪除或者直接重啟。

4)傳送訊息

[atguigu@hadoop102 kafka]$

bin/kafka-console-producer.sh

--broker-list hadoop102:9092 --topic first

>hello world

>atguigu  atguigu 5

)消費訊息 (

舊)[atguigu@

hadoop103

kafka]$

bin/kafka-console-consumer.sh

--zookeeper hadoop102:

9092

--from-beginning --topic first (

新)[atguigu@

hadoop103

kafka]$

bin/kafka-console-consumer.sh

--bootstrap-server

hadoop102:

9092

--from-beginning --topic first

--from-beginning

:會把first主題中

以往所有的資料都讀取出來。

根據業務場景

選擇是否

增加該配置。

6)檢視某個topic的詳情

[atguigu@hadoop102 kafka]$

bin/kafka-topics.sh --zookeeper hadoop102:2181 --

describe

--topic first

1)需求:測試同乙個消費者組中的消費者,同一時刻只能有乙個消費者消費。

2)案例實操

(1)在hadoop102、hadoop103上修改/opt/module/kafka/config/consumer.properties配置檔案中的group.id屬性為任意組名。

[atguigu@hadoop103 config]$ vi consumer.properties

group.id=atguigu

(2)在hadoop102、hadoop103上分別啟動消費者,也可以先啟動再改group.id

[atguigu@hadoop102 kafka]$ bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 --topic first --consumer.config config/consumer.properties

[atguigu@

hadoop103

kafka]$ bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 --topic first --consumer.config config/consumer.properties

(3)在hadoop104上啟動生產者

[atguigu@

hadoop104

kafka]$ bin/kafka-console-producer.sh --broker-list hadoop102:9092 --topic first

>hello world

(4)檢視hadoop102和hadoop103的接收者。

bin/kafka-console-consumer.sh

--topic

first

--zookeeper hadoop102

:9092 --consumer.config

config/consumer.properties

bin/kafka-console-consumer.sh

--topic

first

--zookeeper hadoop103

:9092 --consumer.config

config/consumer.properties

注意:高版本請將

」--zookeeper

」替換為

」bootstrap-server」

同一時刻只有乙個消費者接收到訊息。

Kafka集群部署和使用

解壓 tar zxvf kafka 2.11 0.11.0.0.tgz c opt module 重新命名 mv kafka 2.11 0.11.0.0 kafka在 opt module kafka 目錄下建立 logs 資料夾 mkdir logs修改配置檔案 cd config vi serv...

kafka集群簡單使用

bin kafka topics.sh create bootstrap server hadoop102 9092 topic testbin kafka console producer.sh broker list hadoop102 9092在本節點建立乙個生產者 bin kafka con...

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...