PageSourceSearch

https://zbciok.github.io/assets/js/89766afc.0620abe1.js

js zbciok.github.io collected 2026-10-03 10:16:18 UTC 4,062 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkjreact_com_docsaurus_01=self.webpackChunkjreact_com_docsaurus_01||[]).push([[3407],{1471:(n,e,a)=>{a.r(e),a.d(e,{assets:()=>c,contentTitle:()=>t,default:()=>k,frontMatter:()=>i,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"messaging/kafka/examples/docker-obsidiandynamics-kafdrop","title":"Docker kafdrop","description":"docker-compose.yml","source":"@site/docs/messaging/kafka/examples/docker-obsidiandynamics-kafdrop.mdx","sourceDirName":"messaging/kafka/examples","slug":"/messaging/kafka/examples/docker-obsidiandynamics-kafdrop","permalink":"/docs/messaging/kafka/examples/docker-obsidiandynamics-kafdrop","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":100,"frontMatter":{"sidebar_position":100},"sidebar":"tutorialSidebar","previous":{"title":"Docker apache/kafka:3.9.0","permalink":"/docs/messaging/kafka/examples/apache-kafka-3.9.0"},"next":{"title":"Docker confluentinc","permalink":"/docs/messaging/kafka/examples/confluentinc"}}');var r=a(4848),s=a(8453);const i={sidebar_position:100},t="Docker kafdrop",c={},d=[{value:"docker-compose.yml",id:"docker-composeyml",level:3},{value:"In this configuration:",id:"in-this-configuration",level:4},{value:"Starting Kafka and Kafdrop",id:"starting-kafka-and-kafdrop",level:3},{value:"Verifying Installation",id:"verifying-installation",level:3}];function l(n){const e={code:"code",h1:"h1",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",pre:"pre",ul:"ul",...(0,s.R)(),...n.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"docker-kafdrop",children:"Docker kafdrop"})}),"\n",(0,r.jsx)(e.h3,{id:"docker-composeyml",children:"docker-compose.yml"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{children:'version: "3"\nservices:\n  kafdrop:\n    image: obsidiandynamics/kafdrop\n    restart: "no"\n    ports:\n      - "9000:9000"\
1n    environment:\n      KAFKA_BROKERCONNECT: "kafka:29092"\n    depends_on:\n      - "kafka"\n  kafka:\n    image: obsidiandynamics/kafka\n    restart: "no"\n    ports:\n      - "2181:2181"\n      - "9092:9092"\n    environment:\n      KAFKA_LISTENERS: "INTERNAL://:29092,EXTERNAL://:9092"\n      KAFKA_ADVERTISED_LISTENERS: "INTERNAL://kafka:29092,EXTERNAL://localhost:9092"\n      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT"\n      KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL"\n      KAFKA_ZOOKEEPER_SESSION_TIMEOUT: "6000"\n      KAFKA_RESTART_ATTEMPTS: "10"\n      KAFKA_RESTART_DELAY: "5"\n      ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: "0"\n'})}),"\n",(0,r.jsx)(e.h4,{id:"in-this-configuration",children:"In this configuration:"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:"We have two services: Kafka and Kafdrop."}),"\n",(0,r.jsx)(e.li,{children:"Kafka is exposed on ports 2181 (for Zookeeper) and 9092 (for external communication)."}),"\n",(0,r.jsx)(e.li,{children:"Kafdrop, a web UI for monitoring Kafka topics, is exposed on port 9000."}),"\n"]}),"\n",(0,r.jsx)(e.h3,{id:"starting-kafka-and-kafdrop",children:"Starting Kafka and Kafdrop"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{children:"docker compose -f docker-compose.yml up -d\n"})}),"\n",(0,r.jsx)(e.h3,{id:"verifying-installation",children:"Verifying Installation"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{children:"http://localhost:9000\n"})}),"\n",(0,r.jsx)("img",{src:"/img/messaging/kafka/kafdrop-browser-01.png",alt:"kafdrop-browser-01.png"}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(e.hr,{})]})}function k(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,r.jsx)(e,{...n,children:(0,r.jsx)(l,{...n})}):l(n)}},8453:(n,e,a)=>{a.d(e,{R:()=>i,x:()=>t});var o=a(6540);const r={},s=o.createContext(r);function i(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function t(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:i(n.
1components),o.createElement(s.Provider,{value:e},n.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.