成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

牢記這三種方法!即便沒有Zookeeper也能運行Kafka

原創
云計算 Kafka
從 Kafka 2.8 開始,在沒有 Zookeeper 的情況下也可以運行 Kafka 集群。本文將介紹三種方法,它們可以在使用容器單節點集群的情況下運行Kafka。

???

【51CTO.com原創稿件】從 Kafka 2.8 開始,在沒有 Zookeeper 的情況下也可以運行 Kafka 集群。本文將介紹三種方法,它們可以在使用容器單節點集群的情況下運行Kafka。

Apache Zookeeper作為Kafka的依賴項一直用來管理Apache Kafka的元數據。值得慶幸的是從Kafka 2.8 版本開始,就可以在沒有 Zookeeper 的情況下運行 Kafka 集群了。下面就給大家介紹使用容器單節點集群的三種簡單方法。

Control plane(控制面)和data plane(數據面)

Apache Kafka 為其集群實現了獨立的control plane(控制面)和data plane(數據面)。Control plane用來管理集群,跟蹤哪些brokers(代理)處于活動狀態,并在set(集合)更改時采取對應的行動。同時,data plane(數據面)需要處理producer(生產者)和consumer(消費者)及其兩者產生的記錄信息。在之前的Kafka 版本中,Zookeeper 是實現Control plane功能的主要集群組件。

經過幾年的努力,Kafka實現了Control plane的第一版功能,我們把此次更新稱為KIP-500。其中 Apache Kafka Raft(也稱為 KRaft)是為取代 Zookeeper 而引入的新共識協議。brokers可以作為仲裁控制器的角色來管理集群Control plane(控制面)。此更改簡化了集群部署、監控和管理等功能。新的 KRaft 控制器可以在 Apache Kafka 2.8中體驗到。

容器化單節點

Apache Kafka的強項是消息處理機制的水平擴展和管理高吞吐量的消息,這也是一直推動Kafka發展的源動力。正因為如此,需要在生產環境的Kafka集群中使用多個broker完成上述功能。為了簡單和快速入門今天的知識點,這里會從單節點集群切入給大家介紹Kafaka是如何進行進群管理的。

本文會使用Strimzi容器來包含所需要的應用環境。Strimzi 是Cloud Native Computing Foundation項目成員,它讓Apache Kafka在Kubernetes 運行起來更加從容,同時還提供了一套成熟的操作集合和容器鏡像。

在本文中,我們將通過Quay Container Registry 發布和應用 Apache Kafka 2.8.1 鏡像。

Docker 或 Podman

首先需要在同一實例中運行具有代理和控制器角色的單個容器。安裝Docker或Podman并執行以下命令:

docker run -it --name kafka-zkless -p 9092:9092 -e LOG_DIR=/tmp/logs quay.io/strimzi/kafka:latest-kafka-2.8.1-amd64 /bin/sh -c 'export CLUSTER_ID=$(bin/kafka-storage.sh random-uuid) && bin/kafka-storage.sh format -t $CLUSTER_ID -c config/kraft/server.properties && bin/kafka-server-start.sh config/kraft/server.properties' 

上面的命令啟動一個名為“kafka-zkless”的容器并暴露Kafka的端口 9092。我們覆蓋entry point(入口點)的信息,這里包括三個方面的工作。

第一、設置環境變量,通過UUID設置集群ID。

第二、通過執行`kafka-storage.sh`腳本來格式化存儲目錄。

第三、使用 KRaft 配置啟動 Kafka 服務器。

同時,可以使用標準的 Kafka 工具(如kcat:以前稱為 kafkacat)連接到broker生成和使用相關記錄。

Docker Compose

您可以使用Compose 規范來定義您的組件。如圖 1 所示, docker-compose yaml 文件的示例:

???

圖1

從圖中可以看出通過container_name定義容器名稱,image定義容器鏡像,其中command的部分是要執行的命令。由于該命令過長將其分成兩行解釋(實際上是一行,這里人為加入了回車為的是方便大家閱讀),上面的一行和Docker中的命令一致,包括集群ID定義、格式化存儲目錄以及啟動Kafaka服務器的部分。下面一行主要是重寫了advertised中的listeners、security.protocol.map 以及listeners的信息。接著就是定義ports 端口為9092,在environment中定義了需要在命令行中重寫的三類信息:KAFKA_ADVERTISED_LISTENERS 對應advertised中的listeners;KAFKA_LISTENER_SECURITY_PROTOCOL_MAP對應security.protocol.map;KAFKA_LISTENERS對應listeners的信息。

可以通過如下命令執行上述示例:

docker-compose up -d 

本例會公開主機9092端口,如果需要在更廣泛的組合部署中訪問它,可以將其修改為kafka:29092,避免與其他端口沖突。

Kubernetes 部署

如果習慣使用Kubernetes,您可以如圖2 所示的部署描述:

???

圖2

如圖2 所示,我們關注containers節點下面的內容,容器的名字為zkless-kafka,通過image定義了容器鏡像,在command中定義容器啟動時候的命令。

和Docker一樣由于該命令過長將其分成兩行解釋,上面的一行依舊包括集群ID定義、格式化存儲目錄以及啟動Kafaka服務器的部分。下面一行只定義了advertised的listeners 的信息,這個信息是從env(環境變量)中的KAFKA_ADVERTISED_LISTENERS 對應的value中讀取。

可以通過如下命令執行上面的文件:

kubectl apply -f kubernetes.yaml 

執行之后會對鏡像進行部署,將通過使用zkless-kafka-bootstrap主機名公開引導服務器。同時會對部署服務器所在的當前命名空間的訪問限制。此時就可以和其他advertised listeners(廣播監聽者)一樣獲取你想要的消息了。

概括

本文簡要介紹了 Apache Kafka 新Control plane(控制面)的實現。由于上一個版本的Kafaka完成集群控制的功能,借此可以使用功能強大的 Zookeeperless Kafka 集群。我們回顧了使用容器鏡像部署單節點集群的三種簡單方法:執行簡單的 Docker 或 podman 命令、執行 docker-compose 文件以及在 Kubernetes 上部署運行中的 pod。

作者簡介

崔皓,51CTO社區編輯,資深架構師,擁有18年的軟件開發和架構經驗,10年分布式架構經驗。曾任惠普技術專家。樂于分享,撰寫了很多熱門技術文章,閱讀量超過60萬。《分布式架構原理與實踐》作者。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:華軒 來源: 51CTO
相關推薦

2015-06-03 14:53:34

SQL文件系統備份

2021-09-11 22:54:32

Windows 11Windows微軟

2009-07-08 12:56:32

編寫Servlet

2021-10-10 12:29:27

機器人AI人工智能

2012-09-19 14:33:51

創業程序員創業成功

2021-02-09 00:14:24

Windows 10Windows微軟

2009-12-11 18:49:39

預算編制博科資訊

2022-07-13 16:06:16

Python參數代碼

2024-11-15 07:00:00

Python發送郵件

2011-04-18 15:32:45

游戲測試測試方法軟件測試

2023-08-14 17:58:13

RequestHTTP請求

2010-09-14 15:10:49

CSS注釋

2011-06-10 10:43:12

Ubuntu應用安裝

2009-06-23 10:45:18

Hibernate支持

2013-01-04 15:47:54

Android開發平鋪UI設計

2014-04-01 10:38:09

Linux操作系統

2023-05-16 16:07:07

大數據數據管理工具

2021-07-13 12:31:27

IT組織改進首席技術官

2010-07-29 09:56:45

Flex數據庫

2016-09-09 13:07:56

CentOSJDKLinux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 完全免费av在线 | 成年人视频在线免费观看 | 中文字幕一区二区三区在线视频 | 中文福利视频 | 国产你懂的在线观看 | 亚洲国产精品一区二区三区 | www.亚洲一区二区三区 | 日韩国产在线 | 亚洲中午字幕 | 日韩视频一区二区在线 | 午夜免费视频观看 | 91电影院| 一本一道久久a久久精品综合蜜臀 | 国产男女视频 | 日韩三区在线观看 | 国产高清在线精品 | 亚洲一区综合 | 日韩小视频在线 | 亚洲精品在线视频 | 成人午夜在线 | a级片网站| 日本欧美在线视频 | 中日韩av | 日日碰狠狠躁久久躁96avv | 黑人巨大精品欧美一区二区免费 | 久久小视频 | 亚洲一区二区三区在线视频 | 久久久成人网 | 欧洲精品久久久久毛片完整版 | 91超碰caoporn97人人 | 日韩和的一区二区 | 自拍偷拍3p | 国产欧美精品在线观看 | 中文字幕亚洲无线 | 手机日韩 | 一级黄色裸片 | 免费一级做a爰片久久毛片潮喷 | 成人h动漫精品一区二区器材 | 亚洲精品4| 黄网在线观看 | 亚洲欧美日韩国产综合 |