最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kafka單機(jī)多broker實(shí)例集群搭建教程詳解

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

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

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

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

安裝Java

確保您的系統(tǒng)中已安裝Java 1.8或更高版本。可以通過(guò)以下命令檢查Java版本:

java -version

如果未安裝Java,可以使用以下命令進(jìn)行安裝:

sudo apt update
sudo apt install openjdk-8-jdk

下載Kafka

訪問(wèn)??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

配置多個(gè)Broker實(shí)例

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

復(fù)制配置文件

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

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

修改配置文件

編輯每個(gè)新創(chuàng)建的配置文件,確保每個(gè)Broker實(shí)例的配置是唯一的,特別是??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

啟動(dòng)Zookeeper

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

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

啟動(dòng)Kafka Broker實(shí)例

分別啟動(dòng)每個(gè)Kafka Broker實(shí)例:

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

測(cè)試集群

為了驗(yàn)證集群是否正常工作,我們可以創(chuàng)建一個(gè)主題并從不同的Broker實(shí)例發(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

輸入一些測(cè)試消息,例如:

Hello, Kafka!
This is a test message.

訂閱消息

打開(kāi)另一個(gè)終端窗口,訂閱該主題以接收消息:

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

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

這種配置對(duì)于開(kāi)發(fā)和測(cè)試非常有用,因?yàn)樗试S我們?cè)谟邢薜馁Y源下模擬真實(shí)的生產(chǎn)環(huán)境。希望本文對(duì)您有所幫助!

方法擴(kuò)展

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

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

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

配置文件修改

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

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

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

  • 將 ??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

啟動(dòng) ZooKeeper

Kafka 使用 ZooKeeper 來(lái)管理集群元數(shù)據(jù)。首先啟動(dòng) ZooKeeper:

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

啟動(dòng) Kafka Brokers

在不同的終端窗口中分別啟動(dòng)兩個(gè) Kafka broker 實(shí)例:

啟動(dòng)第一個(gè) broker

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

啟動(dòng)第二個(gè) broker

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

創(chuàng)建主題

你可以使用 Kafka 提供的命令行工具來(lái)創(chuàng)建主題,并指定多個(gè) 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

在打開(kāi)的終端中輸入消息,例如:

Hello, Kafka!

接收消息

在另一個(gè)終端窗口中運(yùn)行消費(fèi)者:

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

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

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

下面將詳細(xì)介紹如何在一個(gè)機(jī)器上配置多個(gè)Kafka Broker實(shí)例。

準(zhǔn)備工作

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

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

創(chuàng)建多個(gè)配置文件:為了在同一臺(tái)機(jī)器上運(yùn)行多個(gè)Broker實(shí)例,每個(gè)實(shí)例需要有自己的配置文件。

配置文件

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

復(fù)制配置文件:

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

  • 修改配置文件: 對(duì)每個(gè)復(fù)制的配置文件進(jìn)行必要的修改,主要是更改以下幾項(xiàng):
  • ??broker.id??:每個(gè)Broker必須有一個(gè)唯一的ID。
  • ??port??:每個(gè)Broker需要監(jiān)聽(tīng)不同的端口。
  • ??log.dirs??:每個(gè)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

啟動(dòng)Zookeeper

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

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

啟動(dòng)多個(gè)Broker實(shí)例

依次啟動(dòng)每個(gè)Broker實(shí)例:

# 啟動(dòng)Broker 0
bin/kafka-server-start.sh config/server-0.properties &
 
# 啟動(dòng)Broker 1
bin/kafka-server-start.sh config/server-1.properties &
 
# 啟動(dòng)Broker 2
bin/kafka-server-start.sh config/server-2.properties &

創(chuàng)建主題

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

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

測(cè)試

生產(chǎn)消息:

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

在這個(gè)終端中輸入一些消息。

消費(fèi)消息: 打開(kāi)另一個(gè)終端,運(yùn)行消費(fèi)者命令:

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

關(guān)閉Broker和Zookeeper

關(guān)閉所有Broker實(shí)例和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é)

你可以在一臺(tái)機(jī)器上成功配置并運(yùn)行多個(gè)Kafka Broker實(shí)例,形成一個(gè)小型的Kafka集群。這對(duì)于學(xué)習(xí)和測(cè)試Kafka的分布式特性非常有幫助。

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

相關(guān)文章

  • 解析JDK14中的java tools簡(jiǎn)介

    解析JDK14中的java tools簡(jiǎn)介

    這篇文章主要介紹了JDK14中的java tools簡(jiǎn)介,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 遠(yuǎn)程連接Jedis和整合SpringBoot的詳細(xì)過(guò)程

    遠(yuǎn)程連接Jedis和整合SpringBoot的詳細(xì)過(guò)程

    這篇文章主要介紹了遠(yuǎn)程連接Jedis和整合SpringBoot的詳細(xì)過(guò)程,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • mybatis plus 開(kāi)啟sql日志打印的方法小結(jié)

    mybatis plus 開(kāi)啟sql日志打印的方法小結(jié)

    Mybatis-Plus(簡(jiǎn)稱MP)是一個(gè) Mybatis 的增強(qiáng)工具,在 Mybatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。本文重點(diǎn)給大家介紹mybatis plus 開(kāi)啟sql日志打印的方法小結(jié),感興趣的朋友一起看看吧
    2021-09-09
  • 深入淺析Spring 的aop實(shí)現(xiàn)原理

    深入淺析Spring 的aop實(shí)現(xiàn)原理

    AOP(Aspect-OrientedProgramming,面向方面編程),可以說(shuō)是OOP(Object-Oriented Programing,面向?qū)ο缶幊蹋┑难a(bǔ)充和完善。本文給大家介紹Spring 的aop實(shí)現(xiàn)原理,感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • 深入了解java中的string對(duì)象

    深入了解java中的string對(duì)象

    這篇文章主要介紹了java中的string對(duì)象,String對(duì)象是Java中使用最頻繁的對(duì)象之一,所以Java開(kāi)發(fā)者們也在不斷地對(duì)String對(duì)象的實(shí)現(xiàn)進(jìn)行優(yōu)化,以便提升String對(duì)象的性能。對(duì)此感興趣的朋友跟隨小編一起看看吧
    2019-11-11
  • java中關(guān)于return返回值的用法詳解

    java中關(guān)于return返回值的用法詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于java中關(guān)于return返回值的用法詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-12-12
  • 詳解Springboot下載Excel的三種方式

    詳解Springboot下載Excel的三種方式

    本文給大家分享Springboot下載Excel三種方式,主要分為瀏覽器下載和代碼本地下載實(shí)現(xiàn)的方式,針對(duì)每種實(shí)現(xiàn)方式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07
  • springboot中jsp配置tiles全過(guò)程

    springboot中jsp配置tiles全過(guò)程

    這篇文章主要介紹了springboot中jsp配置tiles全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Spring?AI?Alibaba?+?Ollama?實(shí)戰(zhàn)教程(基于本地?Qwen3?的?Spring?Boot?大模型應(yīng)用)

    Spring?AI?Alibaba?+?Ollama?實(shí)戰(zhàn)教程(基于本地?Qwen3?的?Spring?

    本文介紹了如何使用SpringAI和SpringAIAlibaba將Java/SpringBoot應(yīng)用與阿里云通義(Qwen)和靈積平臺(tái)(DashScope)等模型服務(wù)無(wú)縫對(duì)接,實(shí)現(xiàn)了在本地開(kāi)發(fā)調(diào)試和云端生產(chǎn)環(huán)境的無(wú)縫切換,本文介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-12-12
  • Java編程中避免equals方法的隱藏陷阱介紹

    Java編程中避免equals方法的隱藏陷阱介紹

    這篇文章主要介紹了Java編程中避免equals方法的隱藏陷阱介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11

最新評(píng)論

浠水县| 瓮安县| 海林市| 文水县| 许昌市| 长沙县| 金坛市| 三穗县| 湘乡市| 柞水县| 通榆县| 乐东| 旌德县| 丹东市| 滨州市| 华容县| 阿瓦提县| 永清县| 武城县| 康保县| 宁国市| 平果县| 银川市| 基隆市| 化德县| 虎林市| 遵化市| 大邑县| 博客| 收藏| 汉阴县| 富宁县| 婺源县| 道孚县| 乐山市| 响水县| 桃江县| 阿拉善右旗| 泸水县| 财经| 横山县|