Apache Druid 0.16.1 集群搭建

1、druid的是什麼?

druid是針對時間序列數據提供低延遲的數據寫入以及快速交互式查詢的分佈式OLAP數據庫。

2、druid的優點:

2.1:集群擴展方便;

2.2:支持數據批量和實時導入兩種方式;

2.3:數據在導入的時候進行了預聚合,節約數據存儲空間提高查詢效率;

2.4:對於大部分的場景可以做到亞秒級響應。

3、缺點:

3.1:druid不支持join操作;

3.2:druid在大數據量的情況下,對查詢明細數據有瓶頸。

4、軟件準備

apache-druid-0.16.1-incubating-bin.tar.gz 最新為0.17版本。

Apache Druid 0.16.1 集群搭建


5、虛擬機三臺,分別是192.168.116.3,192.168.116.4,192.168.116.5

6、上傳壓縮包到虛擬機,並解壓

tar -zxvf apache-druid-0.16.1-incubating-bin.tar.gz

重命名

mv apache-druid-0.16.1-incubating-bin druid-0.16.1 (見上圖所示)

7、修改公共配置

公共配置在/usr/local/src/druid-0.16.1/conf/druid/cluster/_common,我們需要編輯common.runtime.properties文件 ,下面主要是我們修改的重要配置,其它配置保留默認即可:

(1)配置兩個啟動加載的擴展。一個是HDFS存儲,一個是MySQL元數據

druid.extensions.loadList=["druid-kafka-indexing-service", "druid-datasketches", "mysql-metadata-storage","druid-hdfs-storage"]

Apache Druid 0.16.1 集群搭建

(2)配置主機名

druid.host=mini1

Apache Druid 0.16.1 集群搭建


(3)配置Zookeeper地址

druid.zk.service.host=mini1:2181,mini2:2181,mini3:2181

druid.zk.paths.base=/usr/local/src/druid-0.16.1/druid

Apache Druid 0.16.1 集群搭建


(4)配置 Metastore存儲信息

druid.metadata.storage.type=mysql

druid.metadata.storage.connector.connectURI=jdbc:mysql://mini1:3306/druid

druid.metadata.storage.connector.user=root

druid.metadata.storage.connector.password=hadoop

Apache Druid 0.16.1 集群搭建

注意:mysql需要提前安裝好,並且數據庫druid要提前創建好並且指定utf-8編碼;

(5)配置底層存儲。路徑是HDFS路徑

druid.storage.type=hdfs

druid.storage.storageDirectory=/druid/segments

Apache Druid 0.16.1 集群搭建

(6)配置indexingservice服務的日誌存儲路徑,路徑是HDFS路徑。

druid.indexer.logs.type=hdfs

druid.indexer.logs.directory=/druid/indexing-logs

Apache Druid 0.16.1 集群搭建

(7)因為我們會使用到hdfs作為底層存儲所以我們需要告知druid hadoop集群的相關信息,所以

我們需要把hadoop相關的配置文件複製到conf/druid/_common/目錄中;

hdfs-site.xml,core-site.xml,mapred-site.xml,yarn-site.xml四個配置文件 。

Apache Druid 0.16.1 集群搭建


Apache Druid 0.16.1 集群搭建

8、historical配置

配置文件在/usr/local/src/druid-0.16.1/conf/druid/cluster/data/historical,先配置jvm.config,再配置runtime.properties

(1)、jvm.config

Apache Druid 0.16.1 集群搭建

(2)、runtime.properties

druid.service=druid/historical

druid.plaintextPort=18083


9、 middleManager的配置

配置文件在/usr/local/src/druid-0.16.1/conf/druid/cluster/data/middleManager 路徑下,兩個配置文件

(1)、 jvm.config

同上

(2)、runtime.properties

druid.service=druid/middleManager

druid.plaintextPort=18091


10、broker配置

目錄:/usr/local/src/druid-0.16.1/conf/druid/cluster/query/broker

(1)、jvm.config

同上

(2)、runtime.properties

druid.service=druid/broker

druid.plaintextPort=18082

11、router配置

目錄:/usr/local/src/druid-0.16.1/conf/druid/cluster/query/router

(1)、jvm.config

Apache Druid 0.16.1 集群搭建

(2)、runtime.properties

Apache Druid 0.16.1 集群搭建


12、router配置

(1)、jvm.config

Apache Druid 0.16.1 集群搭建

(2)、runtime.properties

Apache Druid 0.16.1 集群搭建

13、 coordinator-overlord 配置

目錄:/usr/local/src/druid-0.16.1/conf/druid/cluster/master/coordinator-overlord

(1)、jvm.config

同上

(2)、runtime.properties

Apache Druid 0.16.1 集群搭建

14、啟動druid集群

高版本

mini1: nohup bin/start-cluster-master-no-zk-server >log/coordinator-overlord.log 2>&1 &

mini2: nohup bin/start-cluster-data-server > log/historical-middleManager.log 2>&1 &

mini3:nohup bin/start-cluster-query-server >log/broker-router.log 2>&1 &

搭建成功。

web界面訪問:


Apache Druid 0.16.1 集群搭建


Apache Druid 0.16.1 集群搭建

Datasources


Apache Druid 0.16.1 集群搭建

Segments


Apache Druid 0.16.1 集群搭建

Tasks


Apache Druid 0.16.1 集群搭建

總共2600萬+數據,查詢10萬條,耗時0.98S

總結:druid的查詢效率還是不錯的,當然這是查詢的明細數據,沒有做預聚合,如果用於到生產環境中還需要大量的測試(預聚合和沒有聚合數據的對比以等等測試)。



分享到:


相關文章: