聊聊 Pulsar: 在 Linux 環(huán)境上搭建 Pulsar
一、環(huán)境準備
1.1 Java 環(huán)境為前提
1.1.1 上傳 jdk-8u261-linux-x64.rpm 到服務器并安裝
#?安裝命令
rpm?-ivh?jdk-8u261-linux-x64.rpm?

1.1.2 配置環(huán)境變量
#?編輯配置文件,jdk的bin目錄到/etc/profile文件,對所有用戶的shell有效
vim?/etc/profile
#?生效
source?/etc/profile

export?JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export?PATH=$PATH:$JAVA_HOME/bin

#?驗證
java?-version

至此,jdk 安裝成功。
1.2 Pulsar 的安裝與配置
1.2.1 上傳 apache-pulsar-2.9.1-bin.tar.gz 到服務器并解壓
tar?-zxf?apache-pulsar-2.9.1-bin.tar.gz?-C?/opt?
1.2.2 啟動單機模式 Pulsar
./pulsar?standalone

直接回車走起,然后出現以下報錯:

很明顯,沒有足夠的內存。
free -m 命令查了下,可用內存還有 957 M,怎么就說內存不夠了呢?

查了下文檔,原來默認需要 2G 的 JVM 內存。

那我就調整下 pulsar 的默認配置,把默認的 2g 調整成 512m。
vim?conf/pulsar_env.sh
PULSAR_MEM=${PULSAR_MEM:-"-Xms512m?-Xmx512m?-XX:MaxDirectMemorySize=512m"}
source?conf/pulsar_env.sh
然后繼續(xù)啟動 pulsar ./pulsar standalone

說我 zookeeper 有啟動 2181 端口了。
是的,我的云主機是啟動了一個 zookeeper。那我把我自己的啟動的 zookeeper 停掉。
進到你安裝 zookeeper 的目錄中,執(zhí)行以下停止的命令即可。
./zkServer.sh?stop

再次啟動 pulsar
./pulsar standalone
如果能看到以上日志,說明 pulsar 啟動成功了!
啟動后,會一直卡主前臺進程,如果需要關閉 pulsar,直接 ctrl+c 即可。
二、生產與消費
2.1 模擬開啟消費者監(jiān)聽數據
./pulsar-client?consume?my-topic?-s?"first-subscription"

2.2 模擬開啟生產者生產數據
./pulsar-client?produce?my-topic?--messages?"hello-pulsar"

2.3 消費者成功接收消息

三、小結
Pulsar 的給我的感覺就是開箱即用,Pulsar 還幫我們內置了 zookeeper,我們至此都沒有安裝 zookeeper,期間我還停掉了自己的 zookeeper,這也正說明了 Pulsar 內置了 zookeeper,與我自己的 zookeeper 端口發(fā)生了沖突。
通過 jps 命令,也可以發(fā)現 Pulsar 幫我們啟動了 zookeeper,有 QuorumPeerMain 進程。

Pulsar 與 Kafka 的單機模式搭建,一對比,毫無疑問,Pulsar 好簡潔啊,Kafka 與 Zookeeper 一堆繁瑣參數的配置。
好了,下一篇我們來搭建 Pulsar 的分布式建集群環(huán)境。我們下期再見~
歡迎大家關注我的公眾號【老周聊架構】,Java后端主流技術棧的原理、源碼分析、架構以及各種互聯網高并發(fā)、高性能、高可用的解決方案。
評論
圖片
表情
