1. 程式人生 > 其它 >Ubuntu20.04裸機上配置單機 Pulsar2.7.0 成功並生產消費訊息

Ubuntu20.04裸機上配置單機 Pulsar2.7.0 成功並生產消費訊息

一、系統說明:

本機是Window10系統,開啟虛擬機器Hyper-V後,建立Ubuntu20.04的系統,並在系統上安裝JDK1.8之後,成功啟動單機模式Pulsar,並在單機叢集上消費生產訊息;

win10上通過hyper-v安裝虛擬機器

二、前期準備(ubuntu開啟FTP服務 +win10上安裝FileZilla客戶端)

windows和linux檔案互傳:FileZilla

【1】開啟Ubuntu端的FTP服務;

1、安裝FTP服務(vsftpd是“very secure TTP daemon”的縮寫,是一個完全免費的、開源的linux上的ftp伺服器軟體);

sudo apt-get install vsftpd

2、軟體安裝完後,使用VI命令開啟 /etc/vsftpd.conf 修改檔案;

sudo vi /etc/vsftpd.conf

3、確保以下兩行前面無註釋符 # ;

local_enable=YES 
write_enable=YES 

4、修改完vsftpd.conf後,儲存退出,並重啟FTP服務;

sudo /etc/init.d/vsftpd restart 

【2】win10上安裝FTP客戶端工具FileZilla(Ubuntu作為服務端,需要開啟FTP檔案傳輸功能);

下載 - FileZilla中文網

win10上下載FileZilla後雙擊即可;

1、檢視ubuntu的主機ip的指令 ;

ip addr show 

2、FileZilla客戶端: 檔案 --> 站點管理器 --> 新站點 --> 需要填寫ubuntu的 主機ip + 使用者名稱 + 密碼 ;

3、同時需要修改FileZilla的字元編碼集為 UTF-8;

window10 和 Ubuntu 之間就可互傳檔案 ;

三、Ubuntu上安裝Oracle JDK1.8

Ubuntu20.04安裝JDK - Areas - 部落格園

【1】下載jdk( win10上下載 jdk1.8 之後,使用FileZilla傳輸至Ubuntu)

【2】解壓到指定目錄(以jdk-1.8-linux-x64.tar.gz 為例)

1、建立目錄

sudo mkdir /usr/lib/jvm

2、解壓縮到該目錄

sudo tar -zxvf jdk-1.8-linux-x64.tar.gz -C /usr/lib/jvm

3、修改環境變數

sudo vi ~/.bashrc
#在檔案末尾追加:

#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144   ## 這裡要注意目錄要換成自己解壓的jdk 目錄
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH  
#使環境變數立即生效:
source ~/.bashrc

4、系統註冊jdk

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_144/bin/java 300

5、檢視java版本,看是否安裝成功:

java -version

四、安裝二進位制版本Pulsar並啟動單機模式

Pulsar單機模式

【1】使用wget命令下載(在window10上下載後,使用FileZilla傳輸至ubuntu上);

【2】解壓縮,並使用cd命令進入並啟動;

#建立軟體安裝目錄
sudo mkdir /usr/local/pulsar      
#解壓縮到指定資料夾
sudo tar -zxvf apache-pulsar-2.7.0-bin.tar.gz -C /usr/local/pulsar
#進入目錄
cd apache-pulsar-2.7.0


【3】啟動單機模式Pulsar;

#此處一定要使用 sudo 許可權
sudo bin/pulsar standalone      (上圖未加sudo,啟動失敗)
#日誌中出現以下資訊則說明 安裝Pulsar成功
[DLM-/stream/storage-OrderedScheduler-3-0] INFO  org.apache.bookkeeper.stream.storage.impl.sc.StorageContainerImpl - Successfully started storage container (0).
[main] INFO  org.apache.pulsar.broker.authentication.AuthenticationService - Authentication is disabled
[main] INFO  org.apache.pulsar.websocket.WebSocketService - Pulsar WebSocket Service started


五、使用Pulsar-client 在執行的單機叢集中consume並produce訊息到Pulsar topic;

(注意:此處bin/pulsar 終端要一直開啟,再加上一個consume終端 、一個produce終端 )

【1】Consume訊息

在first-subscription訂閱中 consume 一條訊息到my-topic的命令

sudo bin/pulsar-client consume my-topic -s "first-subscription"

如果訊息成功傳送到topic,則會在pulsar-client 日誌中出現一個確認,如下所示:

【2】Produce訊息

向名稱為my-topic的 topic 傳送一條簡單的訊息hello-pulsar

 sudo bin/pulsar-client produce my-topic --messages "hello-pulsar"

如果訊息成功傳送到 topic,則會在 pulsar-client 日誌中出現一個確認,

最後使用Ctrl+C終止單機模式Pulsar的執行;