docker部署簡單的Kafka

文章目錄

  • 1. 拉取鏡像
  • 2. 運行
      • 創建網絡
      • 運行 ZooKeeper 容器
      • 運行 Kafka 容器
  • 3. 簡單的校驗
      • 1. 檢查容器狀態
      • 2. 檢查 ZooKeeper 日志
      • 3. 檢查 Kafka 日志
      • 4. 使用 Kafka 命令行工具檢查
      • 5. 創建和刪除測試主題

1. 拉取鏡像

選擇一組兼容性好的版本。

docker pull bitnami/kafka:3.6.1
docker pull bitnami/zookeeper:3.8.2

2. 運行

創建網絡

首先,創建一個名為 kafka 的 Docker bridge 網絡:

docker network create kafka

運行 ZooKeeper 容器

然后,運行 ZooKeeper 容器并將其連接到 kafka 網絡:

docker run -d --name zookeeper --network kafka -e ALLOW_ANONYMOUS_LOGIN=yes bitnami/zookeeper:3.8.2

運行 Kafka 容器

最后,運行 Kafka 容器并將其連接到 kafka 網絡:

docker run -d --name kafka --network kafka -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -p 9092:9092 bitnami/kafka:3.6.1

這些命令將使 ZooKeeper 和 Kafka 容器在同一個 Docker 網絡中運行,并確保它們可以相互通信。

3. 簡單的校驗

要判斷 ZooKeeper 和 Kafka 容器是否正常運行,可以通過以下幾個步驟進行檢查:

1. 檢查容器狀態

首先,檢查 ZooKeeper 和 Kafka 容器是否正在運行:

docker ps

輸出應包含類似以下內容:

CONTAINER ID   IMAGE                        COMMAND                  CREATED          STATUS          PORTS                                        NAMES
<zookeeper_id> bitnami/zookeeper:3.8.2      "/opt/bitnami/script…"   <some_time_ago>  Up <some_time>  2181/tcp                                     zookeeper
<kafka_id>     bitnami/kafka:3.6.1          "/opt/bitnami/script…"   <some_time_ago>  Up <some_time>  0.0.0.0:9092->9092/tcp, :::9092->9092/tcp   kafka

2. 檢查 ZooKeeper 日志

查看 ZooKeeper 容器的日志,以確保它已成功啟動并正在運行:

docker logs zookeeper

日志中應包含類似以下內容:

INFO  Started AdminServer on address 0.0.0.0, port 8080
INFO  binding to port 0.0.0.0/0.0.0.0:2181

3. 檢查 Kafka 日志

查看 Kafka 容器的日志,以確保它已成功連接到 ZooKeeper 并正在運行:

docker logs kafka

日志中應包含類似以下內容:

INFO  [KafkaServer id=1] started (kafka.server.KafkaServer)
INFO  [ZooKeeperClient] Connected. (org.apache.zookeeper.ClientCnxn)

4. 使用 Kafka 命令行工具檢查

進入 Kafka 容器內部,并使用 Kafka 命令行工具檢查 Kafka 和 ZooKeeper 的狀態:

docker exec -it kafka /bin/bash# 列出 Kafka 主題
kafka-topics.sh --list --bootstrap-server kafka:9092

如果可以成功列出 Kafka 主題,則表示 Kafka 和 ZooKeeper 正常運行。

5. 創建和刪除測試主題

可以嘗試創建一個測試主題,并查看是否成功:

# 創建一個名為 test-topic 的主題
kafka-topics.sh --create --topic test-topic --partitions 1 --replication-factor 1 --bootstrap-server kafka:9092# 列出所有主題,確認 test-topic 是否存在
kafka-topics.sh --list --bootstrap-server kafka:9092# 刪除 test-topic 主題
kafka-topics.sh --delete --topic test-topic --bootstrap-server kafka:9092

通過以上步驟,可以確認 ZooKeeper 和 Kafka 容器是否正常運行并相互通信。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40314.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40314.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40314.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Facebook:數字社交的引領者與創新者

自2004年誕生以來&#xff0c;Facebook從一個校園網絡項目迅速成長為全球最大的社交媒體平臺&#xff0c;徹底改變了我們與世界互動的方式。作為數字社交的引領者和創新者&#xff0c;Facebook不僅在技術層面上不斷突破&#xff0c;也在社會和文化領域留下了深刻的印記。本文將…

vue2 + element三級菜單實現模板

需求&#xff1a; 需要一個含有三級菜單的結構模板&#xff0c;用于業務快速開發。 解決&#xff1a; sidebar.vue <template><el-menu :default-active"defaultActive" class"el-menu-vertical-demo" active-text-color"#ffd04b"&…

『大模型筆記』2024大模型AI工程師必備技能!

2024大模型AI工程師必備技能! 文章目錄 一. 2024大模型AI工程師必備技能!1. 引言:理解如何在各種應用中使用大語言模型(LLM)2. 第1層:Question answering(Q&A)3. 第2層:Chatbot=Q&A+短期記憶(上下文知識)4. 第3層:RAG=Q&A+短期記憶(上下文知識)+長期記憶(外…

【論文解讀】CVPR2024:DUSt3R: Geometric 3D Vision Made Easy

論文“”https://openaccess.thecvf.com/content/CVPR2024/papers/Wang_DUSt3R_Geometric_3D_Vision_Made_Easy_CVPR_2024_paper.pdf 代碼&#xff1a;GitHub - naver/dust3r: DUSt3R: Geometric 3D Vision Made Easy DUSt3R是一種旨在簡化幾何3D視覺任務的新框架。作者著重于…

Docker的架構原理

例子可以想象成一個買手機的場景 clien可以想象 你個人 docker deamon &#xff1a;店員 images&#xff1a; 樣機 regisitry&#xff1a; 手機倉庫 container: 使用的手機 首先我要在店員買一個手機&#xff0c;店員發現是樣機&#xff0c;但是倉庫有&#xff0c;&…

【SpringBoot3】使用Jasypt加密數據庫用戶名、密碼等敏感信息

一、使用步驟介紹 使用Jasypt&#xff08;Java Simplified Encryption&#xff09;進行數據加密和解密主要涉及幾個步驟&#xff0c;包括引入依賴、配置加密密碼、加密敏感信息、將加密信息存儲到配置文件中&#xff0c;以及應用程序啟動時自動解密。以下是詳細的使用說明&…

11 docker安裝redis

目錄 安裝redis 1. 配置redis配置文件redis.conf 1.1. 找到redis.conf文件 1.2. 配置文件 2. 啟動容器 3. 測試redis-cli連接 4. 證明docker使用的是指定的配置文件 安裝redis 1. 配置redis配置文件redis.conf 1.1. 找到redis.conf文件 宿主機創建目錄/app/redis在/a…

WebXR:Web上的虛擬與增強現實技術

WebXR 是一種允許在網頁上創建虛擬現實 (VR) 和增強現實 (AR) 體驗的技術標準&#xff0c;它結合了WebVR和WebAR的概念&#xff0c;為開發者提供了一個統一的平臺來開發跨平臺的沉浸式Web應用。 WebXR 概述 什么是WebXR&#xff1f; WebXR API 旨在讓瀏覽器成為VR和AR內容的平…

雙非怎么進大廠?

https://www.nowcoder.com/share/jump/2764630231719583704126 大家好&#xff0c;我是白露啊。 今天我們要分享一個非常勵志的故事&#xff0c;它證明了雙非背景的畢業生也可以通過努力和堅持&#xff0c;進入夢想中的大廠。 下面是這位網友的真實經歷&#xff0c;希望能為正…

泰安再見,泰山OFFICE還會再見

路過泰安&#xff0c;遇見彩虹。懷念和感恩在泰山信息科技的萬丈豪情。 泰山OFFICE&#xff0c;還是要復活。

JavaScript Set新增7個方法操作集合

intersection() intersection () 它返回一個包含此集合和給定集合中所有元素的新集合。 const odds new Set([1, 3, 5, 7, 9]);const squares new Set([1, 4, 9]);console.log(odds.intersection(squares)); // Set(2) { 1, 9 }union() union () 它返回一個包含此集合中所有元…

提升Android Studio開發體驗:使用Kelp插件實現顏色和圖標預覽

提升Android Studio開發體驗&#xff1a;使用Kelp插件實現顏色和圖標預覽 在Android開發中&#xff0c;自動補全功能對于提高開發效率至關重要。然而&#xff0c;默認的Android Studio并不能預覽顏色和圖標&#xff0c;這使得開發者在選擇資源時常常感到困惑。本文將介紹如何使…

【C語言小知識】備選拼寫:iso646.h頭文件

備選拼寫&#xff1a;iso646.h頭文件 C語言中有3種邏輯運算符&#xff1a; 邏輯運算符含義&&與||或!非 假設exp1和exp2是倆個簡單的關系表達式&#xff0c;那么 當且僅當exp1和exp2都為真時&#xff0c;exp1 && exp2才為真。如果exp1或exp2為真&#xff0c;…

【學習筆記】Fréchet距離的 C 語言實現

Frchet 距離 Frchet 距離&#xff0c;又稱為弗雷歇距離&#xff0c;是一種衡量兩條曲線&#xff08;或兩個路徑&#xff09;之間相似性的度量方法。這個概念最初在度量空間理論中被定義&#xff0c;后來被廣泛應用于計算機科學、地理信息系統、圖像處理、生物信息學等多個領域…

使用Python實現深度學習模型:遷移學習與領域自適應教程

引言 遷移學習和領域自適應是深度學習中的兩個重要概念。遷移學習旨在將已在某個任務上訓練好的模型應用于新的任務&#xff0c;而領域自適應則是調整模型以適應不同的數據分布。本文將通過一個詳細的教程&#xff0c;介紹如何使用Python實現遷移學習和領域自適應。 環境準備…

Visual Studio常見問題

VS的文件路徑為什么要用雙斜杠(\)? 答:在編程時,寫入文件的路徑如image = cvLoadImage("C:\Users\lyb\Documents),這種寫法在編譯時不會報錯,但在運行時會報錯,報錯圖像讀入為空,這是因為Windows的路徑雖然用的是單斜杠,但在編程時的意義是不同的,單斜杠“\”…

Go語言中的可變參數:靈活而強大的函數參數

Go語言中的可變參數:靈活而強大的函數參數 在Go語言中,可變參數是一種非常有用的特性,它允許函數接受任意數量的參數。這種靈活性使得函數可以更加通用和可復用。本文將深入探討Go語言中可變參數的用法、原理和最佳實踐。 什么是可變參數? 可變參數允許你傳遞零個或多個值給…

LNMP架構搭建Discuz論壇

LNMP架構是一種用于搭建Web服務器環境的常用架構&#xff0c;由Linux、Nginx、MySQL和PHP組成 組成功能Linux作為操作系統的基礎&#xff0c;提供穩定的環境Nginx作為反向代理服務器&#xff0c;處理客戶端的請求并將他們轉發給后端的應用服務器MySQL作為關系型數據庫管理系統…

7.2 數據結構

作業 #include <stdio.h> #include <string.h> #include <stdlib.h> struct student {char name[32];int age;double score; }s[3];void stu_input(struct student *s,int n) {printf("請輸入%d個學生的信息&#xff08;姓名&#xff0c;年齡&#xff0…

【服裝識別系統】圖像識別+Python+人工智能+深度學習+算法模型+TensorFlow

一、介紹 服裝識別系統&#xff0c;本系統作為圖像識別方面的一個典型應用&#xff0c;使用Python作為主要編程語言&#xff0c;并通過TensorFlow搭建ResNet50卷積神經算法網絡模型&#xff0c;通過對18種不同的服裝&#xff08;‘黑色連衣裙’, ‘黑色襯衫’, ‘黑色鞋子’, …