国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker-compose部署kafka單機和集群

這篇具有很好參考價值的文章主要介紹了docker-compose部署kafka單機和集群。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

版本選擇

使用 docker-compose 部署 Kafka:3.5。

從 3.3 版本后,Kafka 引入了 KRaft 來替代 ZooKeeper,所以我們不必再部署 zk 了。

單機部署

記得修改 KAFKA_CFG_ADVERTISED_LISTENERS 的 ip 為自己的

version: "2"

services:
  kafka:
    container_name: kafka
    image: 'bitnami/kafka:3.5'
    ports:
      - '19092:9092'
      - '19093:9093'
    environment:
      ### 通用配置
      # 允許使用kraft,即Kafka替代Zookeeper
      - KAFKA_ENABLE_KRAFT=yes
      - KAFKA_CFG_NODE_ID=1
      # kafka角色,做broker,也要做controller
      - KAFKA_CFG_PROCESS_ROLES=controller,broker
      # 定義kafka服務(wù)端socket監(jiān)聽端口(Docker內(nèi)部的ip地址和端口)
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      # 定義外網(wǎng)訪問地址(宿主機ip地址和端口)ip不能是0.0.0.0
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://ip:19092
      # 定義安全協(xié)議
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      # 集群地址
      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
      # 指定供外部使用的控制類請求信息
      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
      # 設(shè)置broker最大內(nèi)存,和初始內(nèi)存
      - KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
      # 使用Kafka時的集群id,集群內(nèi)的Kafka都要用這個id做初始化,生成一個UUID即可(22byte)
      - KAFKA_KRAFT_CLUSTER_ID=xYcCyHmJlIaLzLoBzVwIcP
      # 允許使用PLAINTEXT監(jiān)聽器,默認false,不建議在生產(chǎn)環(huán)境使用
      - ALLOW_PLAINTEXT_LISTENER=yes
      # 不允許自動創(chuàng)建主題
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
      # broker.id,必須唯一,且與KAFKA_CFG_NODE_ID一致
      - KAFKA_BROKER_ID=1

集群部署

記得修改 KAFKA_CFG_ADVERTISED_LISTENERS 的 ip 地址為自己的

我們之后測試肯定用集群部署,就算是測試,也不用單機模式,單機就是玩具哈 = =

這里部署了 3 個 Broker,即 Kafka1、Kafka2 和 Kafka3

version: "2"

services:
  kafka1:
    container_name: kafka1
    image: 'bitnami/kafka:3.5'
    ports:
      - '19092:9092'
      - '19093:9093'
    environment:
      ### 通用配置
      # 允許使用kraft,即Kafka替代Zookeeper
      - KAFKA_ENABLE_KRAFT=yes
      - KAFKA_CFG_NODE_ID=1
      # kafka角色,做broker,也要做controller
      - KAFKA_CFG_PROCESS_ROLES=controller,broker
      # 定義kafka服務(wù)端socket監(jiān)聽端口(Docker內(nèi)部的ip地址和端口)
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      # 定義外網(wǎng)訪問地址(宿主機ip地址和端口)ip不能是0.0.0.0
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://ip:19092
      # 定義安全協(xié)議
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      # 集群地址
      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka1:9093,2@kafka2:9093,3@kafka3:9093
      # 指定供外部使用的控制類請求信息
      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
      # 設(shè)置broker最大內(nèi)存,和初始內(nèi)存
      - KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
      # 使用Kafka時的集群id,集群內(nèi)的Kafka都要用這個id做初始化,生成一個UUID即可(22byte)
      - KAFKA_KRAFT_CLUSTER_ID=xYcCyHmJlIaLzLoBzVwIcP
      # 允許使用PLAINTEXT監(jiān)聽器,默認false,不建議在生產(chǎn)環(huán)境使用
      - ALLOW_PLAINTEXT_LISTENER=yes
      # 不允許自動創(chuàng)建主題
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
      # broker.id,必須唯一,且與KAFKA_CFG_NODE_ID一致
      - KAFKA_BROKER_ID=1
    volumes:
      - ./kafka/broker1:/bitnami/kafka:rw

  kafka2:
    container_name: kafka2
    image: 'bitnami/kafka:3.5'
    ports:
      - '29092:9092'
      - '29093:9093'
    environment:
      ### 通用配置
      # 允許使用kraft,即Kafka替代Zookeeper
      - KAFKA_ENABLE_KRAFT=yes
      - KAFKA_CFG_NODE_ID=2
      # kafka角色,做broker,也要做controller
      - KAFKA_CFG_PROCESS_ROLES=controller,broker
      # 定義kafka服務(wù)端socket監(jiān)聽端口(Docker內(nèi)部的ip地址和端口)
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      # 定義外網(wǎng)訪問地址(宿主機ip地址和端口)ip不能是0.0.0.0
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://ip:29092
      # 定義安全協(xié)議
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      # 集群地址
      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka1:9093,2@kafka2:9093,3@kafka3:9093
      # 指定供外部使用的控制類請求信息
      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
      # 設(shè)置broker最大內(nèi)存,和初始內(nèi)存
      - KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
      # 使用Kafka時的集群id,集群內(nèi)的Kafka都要用這個id做初始化,生成一個UUID即可(22byte)
      - KAFKA_KRAFT_CLUSTER_ID=xYcCyHmJlIaLzLoBzVwIcP
      # 允許使用PLAINTEXT監(jiān)聽器,默認false,不建議在生產(chǎn)環(huán)境使用
      - ALLOW_PLAINTEXT_LISTENER=yes
      # 不允許自動創(chuàng)建主題
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
      # broker.id,必須唯一,且與KAFKA_CFG_NODE_ID一致
      - KAFKA_BROKER_ID=2
    volumes:
      - ./kafka/broker2:/bitnami/kafka:rw

  kafka3:
    container_name: kafka3
    image: 'bitnami/kafka:3.5'
    ports:
      - '39092:9092'
      - '39093:9093'
    environment:
      ### 通用配置
      # 允許使用kraft,即Kafka替代Zookeeper
      - KAFKA_ENABLE_KRAFT=yes
      - KAFKA_CFG_NODE_ID=3
      # kafka角色,做broker,也要做controller
      - KAFKA_CFG_PROCESS_ROLES=controller,broker
      # 定義kafka服務(wù)端socket監(jiān)聽端口(Docker內(nèi)部的ip地址和端口)
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      # 定義外網(wǎng)訪問地址(宿主機ip地址和端口)ip不能是0.0.0.0
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://ip:39092
      # 定義安全協(xié)議
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      # 集群地址
      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka1:9093,2@kafka2:9093,3@kafka3:9093
      # 指定供外部使用的控制類請求信息
      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
      # 設(shè)置broker最大內(nèi)存,和初始內(nèi)存
      - KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
      # 使用Kafka時的集群id,集群內(nèi)的Kafka都要用這個id做初始化,生成一個UUID即可(22byte)
      - KAFKA_KRAFT_CLUSTER_ID=xYcCyHmJlIaLzLoBzVwIcP
      # 允許使用PLAINTEXT監(jiān)聽器,默認false,不建議在生產(chǎn)環(huán)境使用
      - ALLOW_PLAINTEXT_LISTENER=yes
      # 不允許自動創(chuàng)建主題
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
      # broker.id,必須唯一,且與KAFKA_CFG_NODE_ID一致
      - KAFKA_BROKER_ID=3
    volumes:
      - ./kafka/broker3:/bitnami/kafka:rw

踩坑 volumes 權(quán)限問題

這里把鏡像里的路徑掛載到宿主機了,但是這里開啟的時候會遇到一個權(quán)限報錯:

mkdir: cannot create directory '/bitnami/kafka/config': Permission denied

第一次開啟后,./kafka/… 下的目錄都創(chuàng)建好了,此時需要給 1001 用戶和組添加權(quán)限:

sudo chown -R 1001:1001 kafka

再次啟動鏡像就沒問題了~

這個問題 stackoverflow 和 github issues 都有提及:

[bitnami/kafka] Cannot create directory ‘/bitnami/kafka/config’: Permission denied · Issue #41422 · bitnami/containers (github.com)

kubernetes - mkdir: cannot create directory ‘/bitnami/kafka/config’: Permission denied - Stack Overflow

在 issues 中有這樣的回復:

Yes, if the directory from your host is mapped to the container using a volume, the owner of that directory should be the UID 1001

所以我們上面加了權(quán)限后,就可以正常運行了。

輕量級 Kafka 可視化工具 —— kafka-console-ui

這里我使用國內(nèi)大佬開發(fā)的一個管理平臺:xxd763795151/kafka-console-ui: 一款快捷易用的輕量級kafka可視化管理平臺 (github.com)

依然是使用 docker-compose 部署:

version: '3'
services:
  # 服務(wù)名
  kafka-console-ui:
    # 容器名
    container_name: "kafka-console-ui"
    # 端口
    ports:
      - "7766:7766"
    # 持久化
    # volumes:
      # - ./data:/app/data
      # - ./log:/app/log
    # 防止讀寫文件有問題
    privileged: true
    user: root
    # 鏡像地址
    image: "wdkang/kafka-console-ui"
    expose:
      - "7766"

配置集群

打開管理工具的運維界面kafka-console-ui,我這里部署在了本地

選擇集群切換 -> 新增集群,填好配置后,選擇切換,就可以管理我們的 kafka 集群了

mkdir: cannot create directory '/bitnami/kafka/config': permission denied,kafka,docker,docker,kafka,容器

*注意 & PS

  1. KAFKA_CFG_ADVERTISED_LISTENERS 外網(wǎng)訪問的 ip 地址不能是 0.0.0.0

  2. KAFKA_BROKER_ID 必須與 KAFKA_CFG_NODE_ID 保持一致

  3. KAFKA_KRAFT_CLUSTER_ID 可以使用菜鳥工具生成一個 22 位隨機字符

  4. 以上兩個部署 kafka 的 yaml 文件中,都設(shè)置了 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false,表示不自動創(chuàng)建 topic,必須手動創(chuàng)建,比如可以通過 kafka-console-ui 的 Topic 頁簽來操作:

mkdir: cannot create directory '/bitnami/kafka/config': permission denied,kafka,docker,docker,kafka,容器

參考 & 致謝

docker安裝kafka(Kraft集群版) - 掘金 (juejin.cn)

kubernetes - mkdir: cannot create directory ‘/bitnami/kafka/config’: Permission denied - Stack Overflow

[bitnami/kafka] Cannot create directory ‘/bitnami/kafka/config’: Permission denied · Issue #41422 · bitnami/containers (github.com)

kafka(kraft模式)3.*集群容器部署 docker-compose - mrdongdong - 博客園 (cnblogs.com)

Docker Hub

kafka-console-ui/document/deploy/docker部署.md at main · xxd763795151/kafka-console-ui (github.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-788848.html

到了這里,關(guān)于docker-compose部署kafka單機和集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Docker部署RocketMQ5.x (單機部署+配置參數(shù)詳解+不使用docker-compose直接部署)

    Docker部署RocketMQ5.x (單機部署+配置參數(shù)詳解+不使用docker-compose直接部署)

    官網(wǎng)地址:https://rocketmq.apache.org/ 鏡像地址: https://hub.docker.com/r/apache/rocketmq/tags 我在部署的時候最新發(fā)行版是5.1.0可以根據(jù)需求自行選擇一個5.x的版本,部署流程不會有太大改變。 NameServer是一個簡單的 Topic 路由注冊中心,支持 Topic、Broker 的動態(tài)注冊與發(fā)現(xiàn),幾乎無狀態(tài)節(jié)點

    2024年02月06日
    瀏覽(28)
  • 【docker】docker-compose安裝帶ui頁面的kafka集群

    在日常的工作當中,kafka集群作為常用的中間件,其搭建過程略顯繁瑣,需要配置的文件頗多,為了方便各位初學者快速體驗kafka的魅力,本文采取一鍵式安裝kafka-3.3.1(不帶zookeeper版本)的集群化安裝。 僅需將下面配置中的10.0.0.147 改為自己本機的ip即可 執(zhí)行 命令安裝即可

    2024年02月14日
    瀏覽(45)
  • docker-compose 部署flink集群

    詳見 https://blog.csdn.net/qq_42267173/article/details/124687804 https://blog.csdn.net/m0_72838865/article/details/126421685 https://www.cnblogs.com/cw2blog/p/16689584.html 容器啟停相關(guān)的 啟動報錯 解決參考:https://blog.csdn.net/xiojing825/article/details/79494408 docker-compose up -d 后臺運行,不輸出日志到窗口 想web訪問,但

    2024年02月05日
    瀏覽(23)
  • docker-compose部署rabbitmq集群

    docker-compose部署rabbitmq集群

    1、集群分類 RabbitMQ的是基于Erlang語言編寫,而Erlang又是一個面向并發(fā)的語言,天然支持集群模式。 RabbitMQ的集群以下分類: 標準集群:是一種分布式集群,將隊列分散到集群的各個節(jié)點,從而提高整個集群的并發(fā)能力。 鏡像集群:是一種主從集群,標準集群的基礎(chǔ)上,添加

    2024年02月16日
    瀏覽(26)
  • docker-compose部署minio集群

    docker-compose部署minio集群

    提示:本文是在Dokcer Desktop環(huán)境下部署。 docker部署單機minio 之前有講過,這里就不在重復 提示:quay.io/minio/minio是穩(wěn)定版本 docker pull quay.io/minio/minio 分別創(chuàng)建 C:DockerDataminio-clusterminio1和C:DockerDataminio-clusterminio2文件夾 然后再minio1/minio2中分別創(chuàng)建config、data1和data2文件夾 提示

    2024年02月12日
    瀏覽(58)
  • ElasticSearch第一講 Docker-compose 單機部署Elasticsearch kibana esHead與配置認證證書設(shè)置密碼

    ElasticSearch第一講 Docker-compose 單機部署Elasticsearch kibana esHead與配置認證證書設(shè)置密碼

    docker安裝 docker-compose安裝配置,如果還有沒安裝docker的可以參考我的docker/docker-compose安裝配置 本次講解的是安裝ES 7.13.3 現(xiàn)在目前官網(wǎng)給出的最新ES版本已經(jīng)是8.x了,ElasticSearch官網(wǎng):https://www.elastic.co/guide/index.html 好了長話短說,我們直接上docker配置文件,對于一些配置文件和數(shù)

    2024年02月03日
    瀏覽(30)
  • 如何通過docker-compose部署ES集群

    一、概述 Linux系統(tǒng)搭建ES集群的方式有很多種,其中通過docker-compose進行安裝最為方便。 二、準備 1、配置虛擬機 1.1、設(shè)置IP 將虛擬機IP設(shè)置為192.168.1.100; 1.2、設(shè)置內(nèi)存 將虛擬機內(nèi)存設(shè)置為4G,內(nèi)存太小可能導致某個ES節(jié)點無法正常運行; 1.3、修改limits.conf limits.conf文件可以

    2024年02月16日
    瀏覽(33)
  • 用docker-compose部署Rabbitmq三節(jié)點集群部署方案

    用docker-compose部署Rabbitmq三節(jié)點集群部署方案

    主機名 IP node1 10.4.2.10 node2 10.4.2.59 node3 10.4.2.134 (1) 在/root目錄下先創(chuàng)建一個rabitmq目錄用于存放文件 mkdir ?rabitmq (2)修改主機名和域名解析hosts文件 (1)修改主機名 hostnamectl set-hostname ?node1 ?? hostnamectl set-hostname ?node2 hostnamectl set-hostname ?node3 node1 ?node2 ??node3 分別對應(yīng)

    2024年02月04日
    瀏覽(17)
  • docker-compose部署hbase集群 —— 筑夢之路

    HBase ?是一個開源的? NoSQL ? 列式分布式數(shù)據(jù)庫 ,它主要基于? Hadoop ?分布式文件系統(tǒng)(HDFS)運行。 HBase ?最初是由? Facebook ?公司貢獻,其基于? Google 的? Bigtable ?模型開發(fā),在強大的水平擴展性和高可用性的基礎(chǔ)上,提供了可以擴展垂直規(guī)模的存儲。 HBase ?主要特點如下

    2024年02月10日
    瀏覽(27)
  • docker容器單機部署zookeeper+kafka集群

    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 其中zookeeper會轉(zhuǎn)化成zookeeper的ip kafka1: 10.21.214.66 其中10.21.214.66 填寫宿主機ip

    2024年02月19日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包