Pulsar簡介及集群安裝過程
一、Pulsar介紹
1.1 Pulsar基本介紹
pulsar是一個云原生企業(yè)級的發(fā)布訂閱(pub-sub)消息系統(tǒng),最初由Yahoo開發(fā),并于2016年底開源,現(xiàn)在是Apache軟件基金會頂級開源項目。Pulsar在Yahoo的生產(chǎn)環(huán)境運行了三年多,助力Yahoo的主要應(yīng)用,如Yahoo Finance、Yahoo Sports、Flickr、Gemini廣告平臺和Yahoo分布式鍵值存儲系統(tǒng)Sherpa。
Apache Pulsar的功能與特性:
- 多租戶模式
- 靈活的消息系統(tǒng)
- 云原生架構(gòu)
- segmented Sreams(分片流)
- 支持跨地域復(fù)制
1.2 Pulsar架構(gòu)
Pulsar官網(wǎng): Apache Pulsar | Apache Pulsar
Producer & Consumer
Pulsar客戶端包含一個消費者和一個生產(chǎn)者。生產(chǎn)者寫入消息到某個主題。消費者從主題讀取消息,并確認(rèn)特定消息或所有特定消息。
Apache Zookeeper
Pulsar和BookKeeper使用Apache ZooKeeper保存節(jié)點之間協(xié)調(diào)的元數(shù)據(jù),例如每個主題的分類賬列表,每個分類賬的片段,以及主題包到代理的映射。它是一個由高可用性和可復(fù)制的服務(wù)器組成的集群(通常是3個)。
Pulsar Brokers
主題(即分區(qū))在Brokers代理之間進(jìn)行劃分。代理接收主題的消息,并將它們附加到托管在Bookkeeper集群上的主題的活動虛擬文件(又稱分類賬)。代理從緩存(大部分)或BookKeeper讀取消息,并將它們分發(fā)給消費者。代理也接收消息確認(rèn)并將其持久化到BookKeeper集群。代理是無狀態(tài)的(不使用/不需要磁盤)。
Apache Bookkeeper
Apache BookKeeper是一個稱為bookies的節(jié)點集群。每個虛擬文件(又名賬本)被分成連續(xù)的段,默認(rèn)情況下,每個段由3個bookies 保存(由客戶端復(fù)制,即經(jīng)紀(jì)人)。由于不需要在它們之間進(jìn)行數(shù)據(jù)重組(移動),運營商可以快速添加博彩公司。它們立即共享傳入的寫負(fù)載。
測試環(huán)境
主機名 | IP | 角色 |
ddp01 | 192.168.2.76 | zk,bookie,broker |
ddp02 | 192.168.2.78 | zk,bookie,broker |
ddp03 | 192.168.2.80 | zk,bookie,broker |
JDK版本兼容性如下:
二、Zookeeper集群安裝
使用DataSophon 安裝Zookeeper ,也可以直接tar包安裝參考文檔
選擇服務(wù)
選擇server節(jié)點
配置信息確認(rèn)
安裝完成
查看ZK配置信息,ZK安裝路徑:/opt/datasophon/zookeeper
zoo.cfg 配置文件
clientPort=2181 dataDir=/data/zookeeper dataLogDir=/data/log tickTime=2000 initLimit=10 syncLimit=5 server.1=192.168.2.76:2888:3888 server.2=192.168.2.78:2888:3888 server.3=192.168.2.80:2888:3888 skipACL=yes
三、Pulsar集群安裝
pulsar版本
Pulsar下載
# 3臺創(chuàng)建 并同步安裝包 mkdir -p /opt/module wget https://archive.apache.org/dist/pulsar/pulsar-2.8.1/apache-pulsar-2.8.1-bin.tar.gz tar -zxvf apache-pulsar-2.8.1-bin.tar.gz -C /opt/module cd /opt/module ln -s apache-pulsar-2.8.1-bin puslar_2.8.1
可以驗證ZooKeeper節(jié)點是否啟動成功
cd /opt/module/apache-pulsar-2.8.1 ./bin/pulsar zookeeper-shell -server 192.168.2.76:12181 ./bin/pulsar zookeeper-shell -server 192.168.2.78:12181 ./bin/pulsar zookeeper-shell -server 192.168.2.80:12181
如下進(jìn)入了 ZK客戶端,查看Znode節(jié)點
3.1 bookie與broker配置
3.1.1 修改bookie配置文件
# 分別每個節(jié)點執(zhí)行 # 創(chuàng)建bookie所需要目錄 mkdir -p /opt/module/pulsar_2.8.1/tmp/journal mkdir -p /opt/module/pulsar_2.8.1/tmp/ledger vim /opt/module/puslar_2.8.1/conf/bookkeeper.conf # advertisedAddress 修改為服務(wù)器對應(yīng)的ip,在另外兩臺服務(wù)器也做對應(yīng)的修改advertisedAddress=192.168.1.193 advertisedAddress=192.168.2.76 # 修改以下兩個文件目錄地址 journalDirectory=/opt/module/pulsar_2.8.1/tmp/journal ledgerDirectories=/opt/module/pulsar_2.8.1/tmp/ledger # 修改zk地址和端口信息 zkServers=192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181 #httpServerPort默認(rèn)也是8000,建議修改,我這里修改為:8100 prometheusStatsHttpPort=8100
3.1.2 修改broker配置文件
cd /opt/module/pulsar_2.8.1 vim conf/broker.conf 修改第44行: 更改為本地ip地址 advertisedAddress=192.168.2.76 修改第125行: 修改集群的名稱 clusterName=pulsar-cluster 修改第1794行: 配置zookeeper地址 zookeeperServers=192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181 修改第73行: 配置zookeeper地址 configurationStoreServers=192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181 修改第73行 http請求服務(wù)端口 webServicePort=18080
同步到其它兩臺
scp -r apache-pulsar-2.7.5 ddp02:/opt/module scp -r apache-pulsar-2.7.5 ddp03:/opt/module cd /opt/module ln -s apache-pulsar-2.8.1-bin puslar_2.8.1
3.2 元數(shù)據(jù)初始化
在其中一個 zookeeper 節(jié)點的機器上,初始化集群元數(shù)據(jù)(總共只需執(zhí)行一次)
#先查看端口占用情況,避免后面啟動時會報端口占用錯誤 netstat -tpnl |grep 8080 netstat -tpnl |grep 8443 netstat -tpnl |grep 6650 netstat -tpnl |grep 6651 bin/pulsar initialize-cluster-metadata \ --cluster pulsar-cluster \ --zookeeper 192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181 \ --configuration-store 192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181 \ --web-service-url http://192.168.2.76:18080,192.168.2.78:18080,192.168.2.80:18080 \ --web-service-url-tls https://192.168.2.76:8443,192.168.2.78:8443,192.168.2.80:8443 \ --broker-service-url pulsar://192.168.2.76:6650,192.168.2.78:6650,192.168.2.80:6650 \ --broker-service-url-tls pulsar+ssl://192.168.2.76:6651,192.168.2.78:6651,192.168.2.80:6651
查看元數(shù)據(jù)是否初始化成功
#連接任意一臺zookeeper,比如:192.168.1.193 ./bin/pulsar zookeeper-shell -server 127.0.0.1:2181 #查詢數(shù)據(jù) ls / #顯示如下,有bookies,pulsar等信息,表示成功初始化 [admin, bookies, ledgers, managed-ledgers, namespace, stream, zookeeper]
3.3 服務(wù)啟動
# BookKeeper集群啟動 #啟動bookie命令,以后臺進(jìn)程啟動bookie ./bin/pulsar-daemon start bookie # bookie停止命令 ./bin/pulsar-daemon stop bookie # 驗證是否啟動成功 ./bin/bookkeeper shell bookiesanity # 以后臺進(jìn)程啟動 broker ./bin/pulsar-daemon start broker # broker關(guān)閉命令如下: ./bin/pulsar-daemon stop broker
測試判斷broker是否啟動成功
./bin/pulsar-admin --admin-url http://192.168.2.76:18080 brokers list pulsar-cluster
部署正常的話 會顯示如下結(jié)果
3.4 消息收發(fā)測試
#在yx subscription 訂閱中 consume 一條消息到topic:yx-tech的命令 ./bin/pulsar-client consume yx-tech -s "yx subscription"
開啟另一個終端發(fā)送數(shù)據(jù),觀察訂閱者收到數(shù)據(jù):content:hello-yx
#生產(chǎn)者發(fā)送: 向名稱為 my-topic 的 topic 發(fā)送一條簡單的消息 hello-pulsar #--messages后面雙引號中的內(nèi)容,若以英文逗號分隔,則消息會分開發(fā)送 ./bin/pulsar-client produce yx-tech --messages "hello-yx"
如果消費者可以正常接收到消息就代表安裝成功
四、Pulsar admin manger圖形界面安裝
Pulsar admin manger是基于Plusar的可視化界面,接下來進(jìn)行安裝
wget https://www.apache.org/dyn/closer.lua/pulsar/pulsar-manager/pulsar-manager-0.4.0/apache-pulsar-manager-0.4.0-bin.tar.gz tar -zxf apache-pulsar-manager-0.4.0-bin.tar.gz -C /home/bigdata/apps/ cd /home/bigdata/apps/apache-pulsar-manager-0.4.0-bin/ # 解壓文件 tar -xvf pulsar-manager.tar # 進(jìn)入解壓后的文件夾 cd pulsar-manager # 復(fù)制文件 cp -r ../dist ui
修改配置文件application.properties根據(jù)需要進(jìn)行屬性配置。如果不想修改應(yīng)文件application.properties,可以通過命令將配置添加到啟動參數(shù)中。這是Spring引導(dǎo)框架的一個功能。
/bin/pulsar --managerbackend.jwt.Token=Token
啟動pulsar
./bin/pulsar-manager
初始化用戶名密碼
CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token) curl \ -H 'X-XSRF-TOKEN: $CSRF_TOKEN' \ -H 'Cookie: XSRF-TOKEN=$CSRF_TOKEN;' \ -H "Content-Type: application/json" \ -X PUT http://localhost:7750/pulsar-manager/users/superuser \ -d '{"name": "admin", "password": "apachepulsar", "description": "test", "email": "username@test.org"}'
http://192.168.2.76:7750/ui/index.html
點擊 new Environment, 設(shè)置集群環(huán)境即可
新建環(huán)境,連接pulsar。設(shè)置pulsar集群名字,這里是配置文件中的集群名。以及鏈接URL,這里也是初始化時配置的url。
可以查看和新建namespace 、topic 等
參考文檔:
高版本的Pulsar需要
JDK17下載地址:Java Downloads | Oracle 中國
云原生時代消息中間件Pulsar(介紹、集群安裝部署、管理頁面安裝部署) 2-阿里云開發(fā)者社區(qū)
【pulsar學(xué)習(xí)】pulsar集群部署及可視化監(jiān)控部署_學(xué)習(xí)_hhhSir'blog-華為云開發(fā)者聯(lián)盟
到此這篇關(guān)于Pulsar簡介及集群安裝過程的文章就介紹到這了,更多相關(guān)Pulsar集群安裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
本地部署DeepSeek開源多模態(tài)大模型Janus-Pro-7B實操教程
文章介紹了Janus-Pro-7B,一個由DeepSeek開發(fā)的開源多模態(tài)AI模型,它在文本和圖像處理方面表現(xiàn)出色,并且具有強大的性能和靈活性,詳細(xì)介紹了如何在本地環(huán)境中部署Janus-Pro-7B,并展示了其在圖像理解和生成、文本生成、多模態(tài)推理等任務(wù)中的應(yīng)用效果,感興趣的朋友一起看看吧2025-02-02jenkins通過sshPut傳輸文件時報錯Permission?denied的SftpException的問題及解決
使用jenkins的ssh插件傳輸文件至遠(yuǎn)程機器的指定目錄,php程序打包后,經(jīng)過zip壓縮為oms.zip,這篇文章主要介紹了jenkins通過sshPut傳輸文件的時候,報錯Permission?denied的SftpException,需要的朋友可以參考下2023-08-08IntelliJ IDEA 2020最新注冊碼(親測有效,可激活至 2089 年
這篇文章主要介紹了IntelliJ IDEA 2020最新注冊碼,親測有效,可激活至 2089 年,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05BurpSuite超詳細(xì)安裝和基礎(chǔ)使用教程(已破解)
Burp?Suite?是用于攻擊web?應(yīng)用程序的集成平臺包含了許多Burp工具,它主要用來做安全性滲透測試,可以實現(xiàn)攔截請求、Burp?Spider爬蟲、漏洞掃描(付費)等類似Fiddler和Postman但比其更強大的功能,今天給大家介紹下BurpSuite安裝破解使用教程,感興趣的朋友一起看看吧2022-10-10使用postman進(jìn)行接口測試的方法(測試用戶管理模塊)
這篇文章主要介紹了使用postman進(jìn)行接口測試的方法(測試用戶管理模塊),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-01-01鴻蒙UI開發(fā)之滾動組件overscroll-decor安裝和使用介紹
鴻蒙UI開發(fā)之滾動組件overscroll-decor?是一個開源庫,提供一種簡單、靈活的方式來實現(xiàn)各種過度滾動(overscroll)動畫效果,提升用戶的交互體驗,該庫提供了類似于iOS的過度滾動效果,幾乎可以應(yīng)用于所有Android,如RecyclerView、ListView、GridView、ScrollView等?2024-12-12