2020-03-23 23:57:32 -04:00
|
|
|
|
<!-- toc -->
|
|
|
|
|
|
2020-03-23 23:42:02 -04:00
|
|
|
|
### 快速开始
|
|
|
|
|
|
|
|
|
|
在本快速入门教程中,我们将下载Druid并将其安装在一台服务器上,完成初始安装后,向集群中加载数据。
|
|
|
|
|
|
|
|
|
|
在开始快速入门之前,阅读[Druid概述](./chapter-1.md)和[数据摄取概述](../DataIngestion/index.md)会很有帮助,因为当前教程会引用这些页面上讨论的概念。
|
|
|
|
|
|
|
|
|
|
#### 预备条件
|
|
|
|
|
##### 软件
|
|
|
|
|
* **Java 8(8u92+)**
|
|
|
|
|
* Linux, Mac OS X, 或者其他类UNIX系统(Windows不支持)
|
|
|
|
|
|
|
|
|
|
> [!WARNING]
|
|
|
|
|
> Druid服务运行依赖Java 8,可以使用环境变量`DRUID_JAVA_HOME`或`JAVA_HOME`指定在何处查找Java,有关更多详细信息,请运行`verify-java`脚本。
|
|
|
|
|
|
|
|
|
|
##### 硬件
|
|
|
|
|
|
|
|
|
|
Druid安装包提供了几个[单服务器配置](./chapter-3.md)的示例,以及使用这些配置启动Druid进程的脚本。
|
|
|
|
|
|
|
|
|
|
如果您正在使用便携式等小型计算机上运行服务,则配置为4CPU/16GB RAM环境的`micro-quickstart`配置是一个不错的选择。
|
|
|
|
|
|
|
|
|
|
如果您打算在本教程之外使用单机部署进行进一步试验评估,则建议使用比`micro-quickstart`更大的配置。
|
|
|
|
|
|
|
|
|
|
#### 入门开始
|
2020-03-24 05:36:00 -04:00
|
|
|
|
|
|
|
|
|
[下载](https://www.apache.org/dyn/closer.cgi?path=/druid/0.17.0/apache-druid-0.17.0-bin.tar.gz)Druid最新0.17.0release安装包
|
|
|
|
|
|
|
|
|
|
在终端中运行以下命令来提取Druid
|
|
|
|
|
|
2020-05-16 03:57:49 -04:00
|
|
|
|
```json
|
2020-03-24 05:36:00 -04:00
|
|
|
|
tar -xzf apache-druid-0.17.0-bin.tar.gz
|
|
|
|
|
cd apache-druid-0.17.0
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
在安装包中有以下文件:
|
|
|
|
|
|
|
|
|
|
* `LICENSE`和`NOTICE`文件
|
|
|
|
|
* `bin/*` - 启停等脚本
|
|
|
|
|
* `conf/*` - 用于单节点部署和集群部署的示例配置
|
|
|
|
|
* `extensions/*` - Druid核心扩展
|
|
|
|
|
* `hadoop-dependencies/*` - Druid Hadoop依赖
|
|
|
|
|
* `lib/*` - Druid核心库和依赖
|
|
|
|
|
* `quickstart/*` - 配置文件,样例数据,以及快速入门教材的其他文件
|
|
|
|
|
|
2020-03-23 23:42:02 -04:00
|
|
|
|
#### 启动服务
|
2020-03-24 21:00:02 -04:00
|
|
|
|
|
|
|
|
|
以下命令假定您使用的是`micro-quickstart`单机配置,如果使用的是其他配置,在`bin`目录下有每一种配置对应的脚本,如`bin/start-single-server-small`
|
|
|
|
|
|
|
|
|
|
在`apache-druid-0.17.0`安装包的根目录下执行命令:
|
|
|
|
|
|
2020-05-16 03:57:49 -04:00
|
|
|
|
```json
|
2020-03-24 21:00:02 -04:00
|
|
|
|
./bin/start-micro-quickstart
|
|
|
|
|
```
|
|
|
|
|
然后将在本地计算机上启动Zookeeper和Druid服务实例,例如:
|
|
|
|
|
|
2020-05-16 03:57:49 -04:00
|
|
|
|
```json
|
2020-03-24 21:00:02 -04:00
|
|
|
|
$ ./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
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
所有的状态(例如集群元数据存储和服务的segment文件)将保留在`apache-druid-0.17.0`软件包根目录下的`var`目录中, 服务的日志位于 `var/sv`。
|
|
|
|
|
|
|
|
|
|
稍后,如果您想停止服务,请按`CTRL-C`退出`bin/start-micro-quickstart`脚本,该脚本将终止Druid进程。
|
|
|
|
|
|
|
|
|
|
集群启动后,可以访问[http://localhost:8888](http://localhost:8888)来Druid控制台,控制台由Druid Router进程启动。
|
|
|
|
|
|
|
|
|
|
![tutorial-quickstart](img/tutorial-quickstart-01.png)
|
|
|
|
|
|
|
|
|
|
所有Druid进程完全启动需要花费几秒钟。 如果在启动服务后立即打开控制台,则可能会看到一些可以安全忽略的错误。
|
|
|
|
|
|
2020-03-23 23:42:02 -04:00
|
|
|
|
#### 加载数据
|
|
|
|
|
##### 教程使用的数据集
|
2020-03-24 21:42:24 -04:00
|
|
|
|
|
|
|
|
|
对于以下数据加载教程,我们提供了一个示例数据文件,其中包含2015年9月12日发生的Wikipedia页面编辑事件。
|
|
|
|
|
|
|
|
|
|
该样本数据位于Druid包根目录的`quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz`中,页面编辑事件作为JSON对象存储在文本文件中。
|
|
|
|
|
|
|
|
|
|
示例数据包含以下几列,示例事件如下所示:
|
|
|
|
|
|
|
|
|
|
* added
|
|
|
|
|
* channel
|
|
|
|
|
* cityName
|
|
|
|
|
* comment
|
|
|
|
|
* countryIsoCode
|
|
|
|
|
* countryName
|
|
|
|
|
* deleted
|
|
|
|
|
* delta
|
|
|
|
|
* isAnonymous
|
|
|
|
|
* isMinor
|
|
|
|
|
* isNew
|
|
|
|
|
* isRobot
|
|
|
|
|
* isUnpatrolled
|
|
|
|
|
* metroCode
|
|
|
|
|
* namespace
|
|
|
|
|
* page
|
|
|
|
|
* regionIsoCode
|
|
|
|
|
* regionName
|
|
|
|
|
* user
|
|
|
|
|
|
2020-05-16 03:57:49 -04:00
|
|
|
|
```json
|
2020-03-24 21:42:24 -04:00
|
|
|
|
{
|
|
|
|
|
"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,
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2020-03-24 05:36:00 -04:00
|
|
|
|
##### 数据加载
|
2020-03-24 21:42:24 -04:00
|
|
|
|
|
|
|
|
|
以下教程演示了将数据加载到Druid的各种方法,包括批处理和流处理用例。 所有教程均假定您使用的是上面提到的`micro-quickstart`单机配置。
|
|
|
|
|
|
|
|
|
|
* [加载本地文件](../Tutorials/chapter-1.md) - 本教程演示了如何使用Druid的本地批处理摄取来执行批文件加载
|
|
|
|
|
* [从Kafka加载流数据](../Tutorials/chapter-2.md) - 本教程演示了如何从Kafka主题加载流数据
|
|
|
|
|
* [从Hadoop加载数据](../Tutorials/chapter-3.md) - 本教程演示了如何使用远程Hadoop集群执行批处理文件加载
|
2020-03-30 01:51:43 -04:00
|
|
|
|
* [编写一个自己的数据摄取规范](../Tutorials/chapter-10.md) - 本教程演示了如何编写新的数据摄取规范并使用它来加载数据
|
2020-03-24 21:42:24 -04:00
|
|
|
|
|
2020-03-25 01:23:02 -04:00
|
|
|
|
##### 重置集群状态
|
2020-03-24 21:42:24 -04:00
|
|
|
|
|
2020-03-25 01:23:02 -04:00
|
|
|
|
如果要在清理服务后重新启动,请删除`var`目录,然后再次运行`bin/start-micro-quickstart`脚本。
|
|
|
|
|
|
|
|
|
|
一旦每个服务都启动,您就可以加载数据了。
|
|
|
|
|
|
|
|
|
|
##### 重置Kafka
|
|
|
|
|
|
|
|
|
|
如果您完成了[教程:从Kafka加载流数据](../Tutorials/chapter-2.md)并希望重置集群状态,则还应该清除所有Kafka状态。
|
|
|
|
|
|
|
|
|
|
在停止ZooKeeper和Druid服务之前,使用`CTRL-C`关闭`Kafka Broker`,然后删除`/tmp/kafka-logs`中的Kafka日志目录:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
rm -rf /tmp/kafka-logs
|
|
|
|
|
```
|