Pulsar簡介及集群安裝過程
一、Pulsar介紹
1.1 Pulsar基本介紹
pulsar是一個(gè)云原生企業(yè)級(jí)的發(fā)布訂閱(pub-sub)消息系統(tǒng),最初由Yahoo開發(fā),并于2016年底開源,現(xiàn)在是Apache軟件基金會(huì)頂級(jí)開源項(xiàng)目。Pulsar在Yahoo的生產(chǎn)環(huán)境運(yùn)行了三年多,助力Yahoo的主要應(yīng)用,如Yahoo Finance、Yahoo Sports、Flickr、Gemini廣告平臺(tái)和Yahoo分布式鍵值存儲(chǔ)系統(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客戶端包含一個(gè)消費(fèi)者和一個(gè)生產(chǎn)者。生產(chǎn)者寫入消息到某個(gè)主題。消費(fèi)者從主題讀取消息,并確認(rèn)特定消息或所有特定消息。
Apache Zookeeper
Pulsar和BookKeeper使用Apache ZooKeeper保存節(jié)點(diǎn)之間協(xié)調(diào)的元數(shù)據(jù),例如每個(gè)主題的分類賬列表,每個(gè)分類賬的片段,以及主題包到代理的映射。它是一個(gè)由高可用性和可復(fù)制的服務(wù)器組成的集群(通常是3個(gè))。
Pulsar Brokers
主題(即分區(qū))在Brokers代理之間進(jìn)行劃分。代理接收主題的消息,并將它們附加到托管在Bookkeeper集群上的主題的活動(dòng)虛擬文件(又稱分類賬)。代理從緩存(大部分)或BookKeeper讀取消息,并將它們分發(fā)給消費(fèi)者。代理也接收消息確認(rèn)并將其持久化到BookKeeper集群。代理是無狀態(tài)的(不使用/不需要磁盤)。
Apache Bookkeeper
Apache BookKeeper是一個(gè)稱為bookies的節(jié)點(diǎn)集群。每個(gè)虛擬文件(又名賬本)被分成連續(xù)的段,默認(rèn)情況下,每個(gè)段由3個(gè)bookies 保存(由客戶端復(fù)制,即經(jīng)紀(jì)人)。由于不需要在它們之間進(jìn)行數(shù)據(jù)重組(移動(dòng)),運(yùn)營商可以快速添加博彩公司。它們立即共享傳入的寫負(fù)載。
測試環(huán)境
主機(jī)名 | 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é)點(diǎn)

配置信息確認(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臺(tái)創(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

可以驗(yàn)證ZooKeeper節(jié)點(diǎn)是否啟動(dòng)成功
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é)點(diǎn)

3.1 bookie與broker配置
3.1.1 修改bookie配置文件
# 分別每個(gè)節(jié)點(diǎn)執(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ù)器對(duì)應(yīng)的ip,在另外兩臺(tái)服務(wù)器也做對(duì)應(yīng)的修改advertisedAddress=192.168.1.193 advertisedAddress=192.168.2.76 # 修改以下兩個(gè)文件目錄地址 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請(qǐng)求服務(wù)端口 webServicePort=18080
同步到其它兩臺(tái)
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ù)初始化
在其中一個(gè) zookeeper 節(jié)點(diǎn)的機(jī)器上,初始化集群元數(shù)據(jù)(總共只需執(zhí)行一次)
#先查看端口占用情況,避免后面啟動(dòng)時(shí)會(huì)報(bào)端口占用錯(cuò)誤 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ù)是否初始化成功
#連接任意一臺(tái)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ù)啟動(dòng)
# BookKeeper集群啟動(dòng) #啟動(dòng)bookie命令,以后臺(tái)進(jìn)程啟動(dòng)bookie ./bin/pulsar-daemon start bookie # bookie停止命令 ./bin/pulsar-daemon stop bookie # 驗(yàn)證是否啟動(dòng)成功 ./bin/bookkeeper shell bookiesanity # 以后臺(tái)進(jìn)程啟動(dòng) broker ./bin/pulsar-daemon start broker # broker關(guān)閉命令如下: ./bin/pulsar-daemon stop broker
測試判斷broker是否啟動(dòng)成功
./bin/pulsar-admin --admin-url http://192.168.2.76:18080 brokers list pulsar-cluster
部署正常的話 會(huì)顯示如下結(jié)果

3.4 消息收發(fā)測試
#在yx subscription 訂閱中 consume 一條消息到topic:yx-tech的命令 ./bin/pulsar-client consume yx-tech -s "yx subscription"
開啟另一個(gè)終端發(fā)送數(shù)據(jù),觀察訂閱者收到數(shù)據(jù):content:hello-yx
#生產(chǎn)者發(fā)送: 向名稱為 my-topic 的 topic 發(fā)送一條簡單的消息 hello-pulsar #--messages后面雙引號(hào)中的內(nèi)容,若以英文逗號(hào)分隔,則消息會(huì)分開發(fā)送 ./bin/pulsar-client produce yx-tech --messages "hello-yx"
如果消費(fèi)者可以正常接收到消息就代表安裝成功

四、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,可以通過命令將配置添加到啟動(dòng)參數(shù)中。這是Spring引導(dǎo)框架的一個(gè)功能。
/bin/pulsar --managerbackend.jwt.Token=Token
啟動(dòng)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

點(diǎn)擊 new Environment, 設(shè)置集群環(huán)境即可

新建環(huán)境,連接pulsar。設(shè)置pulsar集群名字,這里是配置文件中的集群名。以及鏈接URL,這里也是初始化時(shí)配置的url。

可以查看和新建namespace 、topic 等

參考文檔:
高版本的Pulsar需要
JDK17下載地址:Java Downloads | Oracle 中國
云原生時(shí)代消息中間件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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
本地部署DeepSeek開源多模態(tài)大模型Janus-Pro-7B實(shí)操教程
文章介紹了Janus-Pro-7B,一個(gè)由DeepSeek開發(fā)的開源多模態(tài)AI模型,它在文本和圖像處理方面表現(xiàn)出色,并且具有強(qiáng)大的性能和靈活性,詳細(xì)介紹了如何在本地環(huán)境中部署Janus-Pro-7B,并展示了其在圖像理解和生成、文本生成、多模態(tài)推理等任務(wù)中的應(yīng)用效果,感興趣的朋友一起看看吧2025-02-02
分享4個(gè)最受歡迎的大數(shù)據(jù)可視化工具
大數(shù)據(jù)可視化是進(jìn)行各種大數(shù)據(jù)分析解決的最重要組成部分之一。這篇文章主要介紹了4個(gè)最受歡迎的大數(shù)據(jù)可視化工具,需要的朋友可以參考下2019-06-06
jenkins通過sshPut傳輸文件時(shí)報(bào)錯(cuò)Permission?denied的SftpException的問題及解決
使用jenkins的ssh插件傳輸文件至遠(yuǎn)程機(jī)器的指定目錄,php程序打包后,經(jīng)過zip壓縮為oms.zip,這篇文章主要介紹了jenkins通過sshPut傳輸文件的時(shí)候,報(bào)錯(cuò)Permission?denied的SftpException,需要的朋友可以參考下2023-08-08
IntelliJ IDEA 2020最新注冊(cè)碼(親測有效,可激活至 2089 年
這篇文章主要介紹了IntelliJ IDEA 2020最新注冊(cè)碼,親測有效,可激活至 2089 年,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
BurpSuite超詳細(xì)安裝和基礎(chǔ)使用教程(已破解)
Burp?Suite?是用于攻擊web?應(yīng)用程序的集成平臺(tái)包含了許多Burp工具,它主要用來做安全性滲透測試,可以實(shí)現(xiàn)攔截請(qǐng)求、Burp?Spider爬蟲、漏洞掃描(付費(fèi))等類似Fiddler和Postman但比其更強(qiáng)大的功能,今天給大家介紹下BurpSuite安裝破解使用教程,感興趣的朋友一起看看吧2022-10-10
使用postman進(jìn)行接口測試的方法(測試用戶管理模塊)
這篇文章主要介紹了使用postman進(jìn)行接口測試的方法(測試用戶管理模塊),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-01-01
鴻蒙UI開發(fā)之滾動(dòng)組件overscroll-decor安裝和使用介紹
鴻蒙UI開發(fā)之滾動(dòng)組件overscroll-decor?是一個(gè)開源庫,提供一種簡單、靈活的方式來實(shí)現(xiàn)各種過度滾動(dòng)(overscroll)動(dòng)畫效果,提升用戶的交互體驗(yàn),該庫提供了類似于iOS的過度滾動(dòng)效果,幾乎可以應(yīng)用于所有Android,如RecyclerView、ListView、GridView、ScrollView等?2024-12-12

