Apache doris介紹:
Apache Doris是一個現代化的MPP分析型資料庫產品,僅需亞秒級回應時間即可獲得查詢結果,有效地支持實時資料分析,Apache Doris的分布式架構非常簡潔,易于運維,并且可以支持10PB以上的超大資料集,
Apache Doris可以滿足多種資料分析需求,例如固定歷史報表,實時資料分析,互動式資料分析和探索式資料分析等,令您的資料分析作業更加簡單高效!
一,鏡像編譯
生產環境使用了百度的PALO-0.14.12.4版本,百度發行版本在百度內部進行過測驗和上線,相比較開源社區的doris更穩定一些,推薦使用palo
下載地址:
http://palo.baidu.com/docs/%E4%B8%8B%E8%BD%BD%E4%B8%93%E5%8C%BA/%E9%A2%84%E7%BC%96%E8%AF%91%E7%89%88%E6%9C%AC%E4%B8%8B%E8%BD%BD/
0.14.12.4版本可使用此鏡像編譯docker.io/apachedoris/doris-dev:build-env-1.2
下載好編譯鏡像運行鏡像,在鏡像里下載palo原始碼后執行sh build.sh命令等待一段時間即可編譯出fe和be檔案
詳細步驟可參考:
編譯 | Apache Doris
有了fe和be檔案后續可以根據運行的平臺自行打包出fe和be鏡像,需要MySQL客戶端也可在鏡像內自行安裝,jdk版本需要使用jdk11
二,如何使用
Doris 采用 MySQL 協議進行通信,用戶可通過 MySQL client 或者 MySQL JDBC連接到 Doris 集群
1,從fe節點執行進入客戶端
mysql -h 127.0.0.1 -P 2312 -uroot -p
可自行修改mysql客戶端密碼
SET PASSWORD FOR 'root' = PASSWORD('自定義密碼');
doris集群添加BE節點
ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";
ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";
ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";
doris集群添加FE節點
ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";
ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";
后續可根據業務需求自行建庫建表
部署完成節點創建好之后可通過doris自帶的監控暴露一下metrics埠
通過promethues抓取資料放到grafana展示便于查看集群使用情況:
效果如下:




資料發送方式:
推薦使用stream load通過http方式連接fe節點(多個fe節點自行處理負載均衡問題)往doris發送資料
代碼可參考:
https://github.com/apache/incubator-doris/blob/master/samples/stream_load/java/DorisStreamLoad.java
通過Java程式呼叫stream load匯入資料,在一批次資料量較大時,可能會報錯Broken Pipe
除了Broken Pipe外,還可能出現一些其他的奇怪的錯誤,
這個情況通常出現在開啟httpv2后,因為httpv2是使用spring boot實作的http 服務,并且使用tomcat作為默認內置容器,但是jetty對307轉發的處理似乎有些問題,所以后面將內置容器修改為了jetty,此外,在java程式中的 apache http client的版本需要使用4.5.13以后的版本,之前的版本,對轉發的處理也存在一些問題,
所以這個問題可以有兩種解決方式:
1.關閉 httpv2
在 fe.conf 中添加 enable_http_server_v2=false 后重啟FE,但是這樣無法再使用新版UI界面,并且之后的一些基于httpv2的新介面也無法使用(正常的匯入查詢不受影響)
2.升級
可以升級到百度的Palo發行版0.14.13及之后的版本,已修復這個問題
如遇到訊息發送失敗可通過http請求回傳結果的報文查看具體原因
以上doris使用是一個輕量級的實時計算kafka-stream往doris發送資料的案例的一部分,后續會寫篇博客詳細說明下kafka-stream往doris發送資料如何處理資料不丟,多執行緒批量發送資料時如何順序插入資料等問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/423971.html
標籤:其他
上一篇:SQL陳述句
下一篇:ES使用命令說明總結
