欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kafka單機多broker實例集群搭建教程詳解

 更新時間:2025年03月10日 08:23:01   作者:牛肉胡辣湯  
Apache?Kafka?是一個分布式流處理平臺,廣泛應(yīng)用于日志收集、監(jiān)控數(shù)據(jù)聚合等,本文將詳細介紹如何在一個單機上搭建多個Kafka?Broker實例的步驟,希望對大家有所幫助

Apache Kafka 是一個分布式流處理平臺,廣泛應(yīng)用于日志收集、監(jiān)控數(shù)據(jù)聚合、流式數(shù)據(jù)處理等場景。在開發(fā)和測試環(huán)境中,為了節(jié)約資源,我們常常需要在一個物理機器上搭建多個Kafka Broker實例來模擬生產(chǎn)環(huán)境中的集群。本文將詳細介紹如何在一個單機上搭建多個Kafka Broker實例的步驟。

環(huán)境準(zhǔn)備

  • 操作系統(tǒng):Ubuntu 20.04
  • Java版本:1.8+
  • Kafka版本:2.8.0

安裝Java

確保您的系統(tǒng)中已安裝Java 1.8或更高版本??梢酝ㄟ^以下命令檢查Java版本:

java -version

如果未安裝Java,可以使用以下命令進行安裝:

sudo apt update
sudo apt install openjdk-8-jdk

下載Kafka

訪問??Kafka官方網(wǎng)站??下載最新版本的Kafka壓縮包,并解壓到合適的位置:

wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
tar -xzf kafka_2.13-2.8.0.tgz -C /opt
cd /opt/kafka_2.13-2.8.0

配置多個Broker實例

假設(shè)我們需要在同一臺機器上運行三個Kafka Broker實例,我們將分別為每個實例創(chuàng)建一個配置文件。

復(fù)制配置文件

首先復(fù)制默認的??server.properties??文件,為每個Broker實例創(chuàng)建一個獨立的配置文件:

cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties

修改配置文件

編輯每個新創(chuàng)建的配置文件,確保每個Broker實例的配置是唯一的,特別是??broker.id??、??log.dirs??和??port??等參數(shù)。

server-1.properties
broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs-1
server-2.properties
broker.id=2
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs-2

啟動Zookeeper

Kafka依賴于Zookeeper進行協(xié)調(diào)工作,因此首先需要啟動Zookeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties

啟動Kafka Broker實例

分別啟動每個Kafka Broker實例:

bin/kafka-server-start.sh config/server-1.properties &
bin/kafka-server-start.sh config/server-2.properties &

測試集群

為了驗證集群是否正常工作,我們可以創(chuàng)建一個主題并從不同的Broker實例發(fā)布和訂閱消息。

創(chuàng)建主題

bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 2 --partitions 3

發(fā)布消息

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic

輸入一些測試消息,例如:

Hello, Kafka!
This is a test message.

訂閱消息

打開另一個終端窗口,訂閱該主題以接收消息:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning

如果一切正常,您應(yīng)該能夠看到之前發(fā)布的所有消息。

這種配置對于開發(fā)和測試非常有用,因為它允許我們在有限的資源下模擬真實的生產(chǎn)環(huán)境。希望本文對您有所幫助!

方法擴展

Apache Kafka 是一個分布式流處理平臺,廣泛用于構(gòu)建實時數(shù)據(jù)管道和流應(yīng)用。在某些情況下,為了測試或開發(fā)目的,你可能需要在一個單機上運行多個 Kafka broker 實例來模擬集群環(huán)境。下面是一個簡單的示例,展示如何在一個單機上配置和啟動多個 Kafka broker 實例。

環(huán)境準(zhǔn)備

  • 安裝 Java:確保你的機器上已安裝 Java 8 或更高版本。
  • 下載 Kafka:從 Apache Kafka 官方網(wǎng)站下載最新版本的 Kafka 并解壓。

配置文件修改

Kafka 的配置文件位于 ??config?? 目錄下。你需要為每個 broker 實例創(chuàng)建一個獨立的配置文件,并進行必要的修改以避免端口沖突和其他資源沖突。

1. 復(fù)制并修改 ??server.properties??

假設(shè)你想要運行兩個 broker 實例,可以這樣操作:

  • 將 ??config/server.properties?? 復(fù)制為 ??config/server-0.properties?? 和 ??config/server-1.properties??。
  • 修改 ??server-0.properties??:
broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs-0

修改 ??server-1.properties??:

broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs-1

啟動 ZooKeeper

Kafka 使用 ZooKeeper 來管理集群元數(shù)據(jù)。首先啟動 ZooKeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties

啟動 Kafka Brokers

在不同的終端窗口中分別啟動兩個 Kafka broker 實例:

啟動第一個 broker

bin/kafka-server-start.sh config/server-0.properties

啟動第二個 broker

bin/kafka-server-start.sh config/server-1.properties

創(chuàng)建主題

你可以使用 Kafka 提供的命令行工具來創(chuàng)建主題,并指定多個 broker:

bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092,localhost:9093 --replication-factor 2 --partitions 3

發(fā)送和接收消息

發(fā)送消息

bin/kafka-console-producer.sh --topic my-topic --bootstrap-server localhost:9092

在打開的終端中輸入消息,例如:

Hello, Kafka!

接收消息

在另一個終端窗口中運行消費者:

bin/kafka-console-consumer.sh --topic my-topic --from-beginning --bootstrap-server localhost:9092,localhost:9093

你應(yīng)該能看到之前發(fā)送的消息。

這對于測試和開發(fā)場景非常有用,可以幫助你更好地理解和調(diào)試 Kafka 的集群行為。在Apache Kafka中,即使是在單機環(huán)境下,你也可以通過配置多個Broker實例來模擬一個小型的集群環(huán)境。這種設(shè)置對于測試和學(xué)習(xí)Kafka的工作原理非常有用。

下面將詳細介紹如何在一個機器上配置多個Kafka Broker實例。

準(zhǔn)備工作

安裝Java:確保你的系統(tǒng)上已安裝了Java(JDK 8或更高版本)。

下載Kafka:從Kafka官網(wǎng)下載最新版本的Kafka,并解壓到一個目錄,比如??/opt/kafka_2.13-3.0.0??。

創(chuàng)建多個配置文件:為了在同一臺機器上運行多個Broker實例,每個實例需要有自己的配置文件。

配置文件

假設(shè)我們要在同一臺機器上運行三個Broker實例(Broker 0、Broker 1 和 Broker 2)。我們需要為每個Broker創(chuàng)建一個獨立的配置文件。Kafka默認的配置文件位于??config/server.properties??。

復(fù)制配置文件:

復(fù)制默認的??server.properties??文件三次,分別命名為??server-0.properties??、??server-1.properties??和??server-2.properties??。

  • 修改配置文件: 對每個復(fù)制的配置文件進行必要的修改,主要是更改以下幾項:
  • ??broker.id??:每個Broker必須有一個唯一的ID。
  • ??port??:每個Broker需要監(jiān)聽不同的端口。
  • ??log.dirs??:每個Broker需要使用不同的日志目錄。

示例配置如下:

server-0.properties

broker.id=0
port=9092
log.dirs=/tmp/kafka-logs-0

server-1.properties

broker.id=1
port=9093
log.dirs=/tmp/kafka-logs-1

server-2.properties

broker.id=2
port=9094
log.dirs=/tmp/kafka-logs-2

啟動Zookeeper

kafka依賴于Zookeeper來管理集群元數(shù)據(jù)。首先啟動Zookeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties

啟動多個Broker實例

依次啟動每個Broker實例:

# 啟動Broker 0
bin/kafka-server-start.sh config/server-0.properties &
 
# 啟動Broker 1
bin/kafka-server-start.sh config/server-1.properties &
 
# 啟動Broker 2
bin/kafka-server-start.sh config/server-2.properties &

創(chuàng)建主題

你可以使用Kafka提供的命令行工具來創(chuàng)建一個主題,并指定多個Broker作為副本:

bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --replication-factor 3 --partitions 3

測試

生產(chǎn)消息:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic

在這個終端中輸入一些消息。

消費消息: 打開另一個終端,運行消費者命令:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning

關(guān)閉Broker和Zookeeper

關(guān)閉所有Broker實例和Zookeeper:

# 關(guān)閉Broker 0
bin/kafka-server-stop.sh
 
# 關(guān)閉Broker 1
bin/kafka-server-stop.sh
 
# 關(guān)閉Broker 2
bin/kafka-server-stop.sh
 
# 關(guān)閉Zookeeper
bin/zookeeper-server-stop.sh

總結(jié)

你可以在一臺機器上成功配置并運行多個Kafka Broker實例,形成一個小型的Kafka集群。這對于學(xué)習(xí)和測試Kafka的分布式特性非常有幫助。

以上就是Kafka單機多broker實例集群搭建教程詳解的詳細內(nèi)容,更多關(guān)于Kafka多broker集群搭建的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java自動生成編號的實現(xiàn)(格式:yyMM+四位流水號)

    java自動生成編號的實現(xiàn)(格式:yyMM+四位流水號)

    這篇文章主要介紹了java自動生成編號的實現(xiàn)(格式:yyMM+四位流水號),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 解析java.library.path和LD_LIBRARY_PATH的介紹與區(qū)別

    解析java.library.path和LD_LIBRARY_PATH的介紹與區(qū)別

    這篇文章主要介紹了java.library.path和LD_LIBRARY_PATH的介紹與區(qū)別,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • java實現(xiàn)服務(wù)器巡查的代碼

    java實現(xiàn)服務(wù)器巡查的代碼

    接到上級領(lǐng)導(dǎo)任務(wù),需要實現(xiàn)一個這樣的需求,一大批服務(wù)器,需要檢查服務(wù)器能否ping通,ssh密碼是否正常,以及檢查服務(wù)器的cpu,內(nèi)存,硬盤占用情況,下面通過java代碼實現(xiàn)服務(wù)器巡查功能,需要的朋友一起看看吧
    2021-12-12
  • Java遍歷Json的簡單實例

    Java遍歷Json的簡單實例

    這篇文章主要介紹了Java遍歷Json的簡單實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java struts2 validate用戶登錄校驗功能實現(xiàn)

    Java struts2 validate用戶登錄校驗功能實現(xiàn)

    這篇文章主要為大家詳細介紹了Java struts2 validate用戶登錄校驗功能實現(xiàn)的具體步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • SpringCloud2020整合Nacos-Bootstrap配置不生效的解決

    SpringCloud2020整合Nacos-Bootstrap配置不生效的解決

    這篇文章主要介紹了SpringCloud2020整合Nacos-Bootstrap配置不生效的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java實現(xiàn)數(shù)據(jù)庫連接池簡易教程

    Java實現(xiàn)數(shù)據(jù)庫連接池簡易教程

    這篇文章主要為大家介紹了Java實現(xiàn)數(shù)據(jù)庫連接池簡易教程,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Java集合中的Collection接口總結(jié)

    Java集合中的Collection接口總結(jié)

    這篇文章主要介紹了Java集合中的Collection接口總結(jié),Collection 接口是 List和Set接口的父接口,該接口里定義的方法既可用于操作 Set 集合,也可用于操作 List 集合,需要的朋友可以參考下
    2023-11-11
  • Java如何實現(xiàn)定時任務(wù)

    Java如何實現(xiàn)定時任務(wù)

    這篇文章主要介紹了Java如何實現(xiàn)定時任務(wù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java中的關(guān)鍵字synchronized 詳解

    Java中的關(guān)鍵字synchronized 詳解

    這篇文章主要介紹了Java中的關(guān)鍵字synchronized,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評論