學習目標
- 在 Ubuntu OS 安裝 Apache Pulsar
㊟ Apache Pulsar 的 Port 為 6650
前置準備作業
- 一台 Ubuntu 電腦 (本範例使用 Ubuntu-16.04)
- 記憶體至少 4G 以上
Ubuntu 端安裝 Apache Pulsar
Step 1. 安裝 Java8
開啟終端機輸入下列指令
① sudo add-apt-repository ppa:webupd8team/java
② sudo apt-get update
③ sudo apt-get install oracle-java8-installer
Step 2. 確認 Java 版本
開啟終端機輸入下列指令
java -version
Step 3. 安裝 oracle-java8-set-default
開啟終端機輸入下列指令
sudo apt-get install oracle-java8-set-default
Step 4. 設定 Java 環境變數
開啟終端機輸入下列指令
sudo nano /etc/environment
加入環境變數並存檔離開
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
生效與確認
終端機輸入下列指令
source /etc/environment
echo $JAVA_HOME
Step 5. 安裝 Apache Pulsar
開啟終端機輸入下列指令
① wget https://archive.apache.org/dist/incubator/pulsar/pulsar-2.1.1-incubating/apache-pulsar-2.1.1-incubating-bin.tar.gz
② tar xvfz apache-pulsar-2.1.1-incubating-bin.tar.gz
Step 6. 啟動 Apache Pulsar
開啟終端機輸入下列指令
① cd apache-pulsar-2.1.1-incubating
② ./bin/pulsar standalone
Ubuntu 端建立 Consumer
Step 1. 安裝 Python Pulsar 等套件
開啟終端機輸入下列指令
① 新開啟一個終端機視窗
② sudo apt install -y python-pip
③ pip install pulsar-client
Step 2. 撰寫 Python Consumer 程式碼
㊟ 請修正 pulsarIP 為 Ubuntu 的 IP ㊟ Python Consumer 程式碼名稱設為 Consumer.py
import pulsar
pulsarIP = '10.211.55.9'
client = pulsar.Client('pulsar://' + pulsarIP + ':6650')
consumer = client.subscribe('my-topic', 'my-subscription')
while True:
msg = consumer.receive()
print("Received message '{}' id='{}'".format(msg.data(), msg.message_id()))
consumer.acknowledge(msg)
client.close()
Step 3. 執行此 Python Consumer 程式碼
python Consumer.py
Step 4. 撰寫 Python Producer 程式碼
㊟ 請修正 pulsarIP 為 Ubuntu 的 IP ㊟ Python Producer 程式碼名稱設為 Producer.py ㊟ Producer 傳送 Hello World 的資訊給 Consumer
import pulsar
pulsarIP = '10.211.55.9'
client = pulsar.Client('pulsar://' + pulsarIP + ':6650')
producer = client.create_producer('my-topic')
producer.send('Hello World')
client.close()
Step 5. 執行此 Python Producer 程式碼
python Producer.py
Step 6. 確認 Consumer 是否有接收到 Producer 傳來的資訊
㊟ 接收到 Producer 傳來的 Hello World 的資訊