Ubuntu20.04裸機上配置單機 Pulsar2.7.0 成功並生產消費訊息
一、系統說明:
本機是Window10系統,開啟虛擬機器Hyper-V後,建立Ubuntu20.04的系統,並在系統上安裝JDK1.8之後,成功啟動單機模式Pulsar,並在單機叢集上消費生產訊息;
二、前期準備(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的執行;