在本快速入門中,我們將下載Druid並將其設置在一臺計算機上。完成此初始設置後,集羣將準備好加載數據。
在開始快速入門之前,閱讀常規Druid概述和 攝入概述很有幫助,因爲本教程將參考這些頁面上討論的概念。
先決條件
軟件
你會需要:
- Java 8(8u92 +)
- Linux,Mac OS X或其他類似Unix的操作系統(不支持Windows)
警告:運行Druid需要Java 8。Druid在更高版本的Java上能啓動,但無法正常運行。
如果需要,您可以使用環境變量
DRUID_JAVA_HOME
或指定在哪裏找到JavaJAVA_HOME
。有關更多詳細信息,請運行verify-java腳本。
硬件
Druid包含幾個示例單服務器配置,以及使用這些配置啓動Druid進程的腳本。
如果您在便攜式計算機等小型計算機上運行以進行快速評估,則此micro-quickstart
配置是不錯的選擇,其大小適合4CPU / 16GB RAM環境。
如果您打算在教程之外使用單機部署進行進一步評估,我們建議使用比micro-quickstart
更大的配置。
入門
下載 0.17.0版本。
通過在終端中運行以下命令來提取Druid:
tar -xzf apache-druid-0.17.0-bin.tar.gz
cd apache-druid-0.17.0
在包裏面,您能找到:
LICENSE
和NOTICE
文件bin/*
-此快速入門有用的腳本conf/*
-單服務器和集羣設置的示例配置extensions/*
-核心德魯伊擴展hadoop-dependencies/*
-Druid Hadoop依賴項lib/*
-核心Druid的庫和依賴項quickstart/*
-快速入門教程的配置文件,樣本數據和其他文件
啓動Druid服務
以下命令將假定您正在使用micro-quickstart
單機配置。如果您使用其他配置,則bin
目錄的每個配置都具有等效的腳本,例如 bin/start-single-server-small
。
在apache-druid-0.17.0軟件包根目錄中,運行以下命令:
./bin/start-micro-quickstart
這將運行ZooKeeper和Druid服務的實例,它們都在本地計算機上運行,例如:
$ ./bin/start-micro-quickstart
[Fri May 3 11:40:50 2019] Running command[zk], logging to[/apache-druid-0.17.0/var/sv/zk.log]: bin/run-zk conf
[Fri May 3 11:40:50 2019] Running command[coordinator-overlord], logging to[/apache-druid-0.17.0/var/sv/coordinator-overlord.log]: bin/run-druid coordinator-overlord conf/druid/single-server/micro-quickstart
[Fri May 3 11:40:50 2019] Running command[broker], logging to[/apache-druid-0.17.0/var/sv/broker.log]: bin/run-druid broker conf/druid/single-server/micro-quickstart
[Fri May 3 11:40:50 2019] Running command[router], logging to[/apache-druid-0.17.0/var/sv/router.log]: bin/run-druid router conf/druid/single-server/micro-quickstart
[Fri May 3 11:40:50 2019] Running command[historical], logging to[/apache-druid-0.17.0/var/sv/historical.log]: bin/run-druid historical conf/druid/single-server/micro-quickstart
[Fri May 3 11:40:50 2019] Running command[middleManager], logging to[/apache-druid-0.17.0/var/sv/middleManager.log]: bin/run-druid middleManager conf/druid/single-server/micro-quickstart
所有持久狀態(例如集羣元數據存儲和服務的分段)將保留在var
apache-druid-0.17.0軟件包根目錄下的目錄中。服務的日誌位於var/sv
。
如果您想停止服務,請按CTRL-C退出bin/start-micro-quickstart
腳本,該腳本將終止Druid進程。
集羣啓動後,您可以導航到http:// localhost:8888。服務於Druid控制檯的Druid路由器進程位於此地址。
所有Druid進程完全啓動需要花費幾秒鐘。如果在啓動服務後立即打開控制檯,則可能會看到一些可以安全忽略的錯誤。
數據載入(Loading data)
教程數據集(Tutorial dataset)
對於以下數據加載教程,我們提供了一個示例數據文件,其中包含2015年9月12日發生的Wikipedia頁面編輯事件。
此樣本數據位於quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz
Druid包根目錄。頁面編輯事件作爲JSON對象存儲在文本文件中。
示例數據包含以下幾列,示例事件如下所示:
- added
- channel
- cityName
- comment
- countryIsoCode
- countryName
- deleted
- delta
- isAnonymous
- isMinor
- isNew
- isRobot
- isUnpatrolled
- metroCode
- namespace
- page
- regionIsoCode
- regionName
- user
{
"timestamp":"2015-09-12T20:03:45.018Z",
"channel":"#en.wikipedia",
"namespace":"Main",
"page":"Spider-Man's powers and equipment",
"user":"foobar",
"comment":"/* Artificial web-shooters */",
"cityName":"New York",
"regionName":"New York",
"regionIsoCode":"NY",
"countryName":"United States",
"countryIsoCode":"US",
"isAnonymous":false,
"isNew":false,
"isMinor":false,
"isRobot":false,
"isUnpatrolled":false,
"added":99,
"delta":99,
"deleted":0,
}
數據加載教程
以下教程演示了將數據加載到Druid的各種方法,包括批處理和流用例。所有教程均假定您使用的是上述micro-quickstart
單機配置。
- 加載文件 -本教程演示瞭如何使用Druid的本地批處理攝取來執行批處理文件加載。
- 從Apache Kafka加載流數據 -本教程演示瞭如何從Kafka主題加載流數據。
- 使用Apache Hadoop加載文件 -本教程演示瞭如何使用遠程Hadoop集羣執行批處理文件加載。
- 編寫自己的提取規範 -本教程演示瞭如何編寫新的提取規範並使用它來加載數據。
重置集羣狀態
如果要在停止服務後重新啓動,請刪除var
目錄並bin/start-micro-quickstart
再次運行腳本。
每個服務都啓動完成後,您就可以加載數據了。
如果您完成了教程:從Kafka加載流數據並希望重置集羣狀態,則還應該清除所有Kafka狀態。
在停止ZooKeeper和Druid服務之前,使用CTRL-C關閉Kafka代理,然後在以下位置刪除Kafka日誌目錄/tmp/kafka-logs
:
rm -rf /tmp/kafka-logs