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

使用Docker搭建Apache Kafka環(huán)境的詳細(xì)過程

 更新時間:2022年10月19日 11:27:03   作者:夢想畫家  
這篇文章主要介紹了使用Docker搭建Apache Kafka環(huán)境,本文使用Docker技術(shù)創(chuàng)建單個Kafka節(jié)點和Kafka集群環(huán)境,并且使用可視化工具連接服務(wù)查看代理服務(wù)器的配置信息,需要的朋友可以參考下

Docker是最受歡迎的容器引擎之一,軟件行業(yè)用于創(chuàng)建、打包、部署應(yīng)用。本教程學(xué)習(xí)如何使用Docker搭建Apache Kafka。

安裝單個節(jié)點

安裝單節(jié)點Kafka代理需能夠滿足本地開發(fā)需求,我們首先學(xué)習(xí)單節(jié)點安裝。

docker-compose.yml 配置

使用Apache Kafka服務(wù),首先需要啟動Zookeeper 服務(wù)。這可以通過在docker-compose.yml 文件配置依賴實現(xiàn),但要確保Zookeeper服務(wù)總是在Kafka服務(wù)之前啟動,反之zookeeper最后停止。

首先創(chuàng)建docker-compose.yml文件,增加兩個服務(wù):zookeeper和kafka:

version: '2'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - 22181:2181
  
  kafka:
    image: confluentinc/cp-kafka:latest
    depends_on:
      - zookeeper
    ports:
      - 29092:29092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

Zookeeper服務(wù)監(jiān)聽2181端口為Kafka提供服務(wù),但對于運行在本機的客戶端,暴露的端口為22181.
類似的,kafka通過端口29092暴露給主機應(yīng)用,但實際上在容器中的端口9092。有KAFKA_ADVERTISED_LISTENERS屬性來配置。

下面通過使用命令啟動容器、開啟kafka服務(wù):

$ docker-compose up -d
Creating network "kafka_default" with the default driver
Creating kafka_zookeeper_1 ... done
Creating kafka_kafka_1     ... done

下面通過nc命令嚴(yán)重兩個服務(wù)正在監(jiān)聽各自的端口:

$ nc -z localhost 22181
Connection to localhost port 22181 [tcp/*] succeeded!
$ nc -z localhost 29092
Connection to localhost port 29092 [tcp/*] succeeded!

另外,也可以檢查日志,當(dāng)容器正在運行時驗證kafka服務(wù)是否啟動:

$ docker-compose logs kafka | grep -i started

可以看到Kafka服務(wù)已經(jīng)啟動。

最后可以使用Kafka Tool Gui 工具連接已安裝的Kafka服務(wù):

在這里插入圖片描述

安裝集群環(huán)境

生產(chǎn)環(huán)境需要更穩(wěn)定的環(huán)境,下面擴展 docker-compose.yml文件創(chuàng)建多節(jié)點集群環(huán)境:

docker-compose.yml配置

集群安裝需要zookeeper和Kafka有多個實例,下面為zookeeper和kafka增加多個服務(wù):

---
version: '2'
services:
  zookeeper-1:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - 22181:2181

  zookeeper-2:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - 32181:2181
  
  kafka-1:
    image: confluentinc/cp-kafka:latest
    depends_on:
      - zookeeper-1
      - zookeeper-2

    ports:
      - 29092:29092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-1:9092,PLAINTEXT_HOST://localhost:29092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
  kafka-2:
    image: confluentinc/cp-kafka:latest
    depends_on:
      - zookeeper-1
      - zookeeper-2
    ports:
      - 39092:39092
    environment:
      KAFKA_BROKER_ID: 2
      KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-2:9092,PLAINTEXT_HOST://localhost:39092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

必須要確保kafka服務(wù)名稱唯一,通過KAFKA_BROKER_ID 屬性設(shè)置。而且每個服務(wù)必須暴露唯一主機端口。雖然zookeeper-1 和 zookeeper-2 監(jiān)聽2181端口,但對于主機端口分別為 22181 和 32181。類似的,kafka-1 和 kafka-2 services對應(yīng)主機端口分別為 29092 和 39092。

啟動kafka集群

現(xiàn)在通過docker-compose命令啟動集群:

$ docker-compose up -d
Creating network "kafka_default" with the default driver
Creating kafka_zookeeper-1_1 ... done
Creating kafka_zookeeper-2_1 ... done
Creating kafka_kafka-2_1     ... done
Creating kafka_kafka-1_1     ... done

啟動完成,使用Kafka Tool連接集群,地址通過逗號分割只讀多個zookeeper地址和端口:

總結(jié)

本文使用Docker技術(shù)創(chuàng)建單個Kafka節(jié)點和Kafka集群環(huán)境,并且使用可視化工具連接服務(wù)查看代理服務(wù)器的配置信息。

到此這篇關(guān)于使用Docker搭建Apache Kafka環(huán)境的文章就介紹到這了,更多相關(guān)Docker Apache Kafka環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 開放Docker端口的實現(xiàn)示例

    開放Docker端口的實現(xiàn)示例

    本篇文章主要介紹了開放Docker端口的實現(xiàn)示例, 需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • docker5 全功能harbor倉庫搭建過程

    docker5 全功能harbor倉庫搭建過程

    Harbor是構(gòu)建企業(yè)級私有docker鏡像的倉庫的開源解決方案,本文給大家分享docker5 全功能harbor倉庫搭建過程,感興趣的朋友一起看看吧
    2021-06-06
  • Docker容器數(shù)據(jù)卷技術(shù)介紹

    Docker容器數(shù)據(jù)卷技術(shù)介紹

    這篇文章主要為大家介紹了Docker容器數(shù)據(jù)卷技術(shù)介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Docker本地部署Firefox火狐瀏覽器并遠(yuǎn)程訪問的流程

    Docker本地部署Firefox火狐瀏覽器并遠(yuǎn)程訪問的流程

    在Docker中打開Firefox意味著我們將在一個Docker容器中運行Firefox瀏覽器,下面是一個簡單的示例,演示如何在Docker中打開Firefox,本次實踐部署環(huán)境為本地環(huán)境,感興趣的朋友一起看看吧
    2023-11-11
  • Docker如何拉取oracle11g鏡像

    Docker如何拉取oracle11g鏡像

    這篇文章主要介紹了Docker如何拉取oracle11g鏡像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Docker下安裝zookeeper(單機和集群)

    Docker下安裝zookeeper(單機和集群)

    這篇文章主要介紹了Docker下安裝zookeeper(單機和集群),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 使用Docker部署Dashdot服務(wù)器儀表盤的步驟

    使用Docker部署Dashdot服務(wù)器儀表盤的步驟

    Dashdot是一款簡單、實用的開源服務(wù)器儀表盤,設(shè)計時考慮到了玻璃形態(tài),它旨在用于較小的?VPS?和私人服務(wù)器,這篇文章主要介紹了使用Docker部署Dashdot服務(wù)器儀表盤,需要的朋友可以參考下
    2022-12-12
  • Docker 技巧之刪除Docker容器和鏡像

    Docker 技巧之刪除Docker容器和鏡像

    本篇文章主要介紹了Docker 技巧之刪除Docker容器和鏡像,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Dockerfile命令參數(shù)的具體使用

    Dockerfile命令參數(shù)的具體使用

    Dockerfile是一個文本文件,包含用戶構(gòu)建鏡像的所需要的全部命令,本文主要介紹了Dockerfile命令參數(shù)的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 給docker創(chuàng)建的elasticsearch容器添加密碼簡單步驟

    給docker創(chuàng)建的elasticsearch容器添加密碼簡單步驟

    在使用Elasticsearch(ES)Docker容器時,有時需要設(shè)置密碼來保護數(shù)據(jù)的安全性,這篇文章主要給大家介紹了關(guān)于給docker創(chuàng)建的elasticsearch容器添加密碼的簡單步驟,需要的朋友可以參考下
    2024-02-02

最新評論