druid学习-安装

来源:互联网 发布:业务流程图制作软件 编辑:程序博客网 时间:2024/05/21 06:34

最近因为业务需要,需要部署druid来做olap分析,关于选型可以看下知乎里大神的分析
https://www.zhihu.com/question/41541395?sort=created
(此druid非阿里的数据库连接池druid)
步入正题,druid安装,可以选择imply ( https://imply.io/ ),我这儿选择的是druid-0.10.1
1. 解压 tar zxvf druid-0.10.1-bin.tar.gz
2. cd conf/druid
关于druid各组件的配置都在该目录下
broker
_common
coordinator
historical
middleManager
overlord
3. vim _common/common.runtime.properties
设置需要加载的扩展插件,zk,源数据存储,业务数据存储,metric监控

druid.extensions.loadList=["druid-kafka-eight", "druid-hdfs-storage", "druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "mysql-metadata-storage", "druid-protobuf-extensions"]

我这儿源数据存储选择mysql,deep-storage选择HDFS,所以需要将mysql和hdfs的扩展加入到druid.extensions.loadList中,并且确认druid-0.10.1/extensions 目录下有相关插件,其中mysql需要自己下载放在该目录下。
4. 启动每个组件
bin/init
bin/coordinator.sh start
bin/broker.sh start
bin/historical.sh start
bin/overlord.sh start
bin/middleManager.sh start
观察log目录下日志
注意:默认配置下historical,broker都会报错,报错如下

1) Not enough direct memory.  Please adjust -XX:MaxDirectMemorySize, druid.processing.buffer.sizeBytes, druid.processing.numThreads, or druid.processing.numMergeBuffers: maxDirectMemory[4,294,967,296], memoryNeeded[5,368,709,120] = druid.processing.buffer.sizeBytes[536,870,912] * (druid.processing.numMergeBuffers[2] + druid.processing.numThreads[7] + 1)

需要修改下配置满足报错中的表达式

druid.processing.buffer.sizeBytes=25600000druid.processing.numThreads=2

5.查看进程,5个组件都成功启动。
打开ui http://localhost:7081/#/
http://localhost:8090/console.html

6.跑下druid提供的示例

$ curl -X 'POST' -H 'Content-Type:application/json' -d @quickstart/wikiticker-index.json http://overloadhost:8090/druid/indexer/v1/task{"task":"index_hadoop_wikiticker_2017-09-11T16:26:56.251+08:00"}

在http://localhost:8090/console.html可以看到执行日志和执行情况,待状态成功后 hdfs可以看到数据

$ hadoop fs -ls /druid/segments/wikitickerFound 1 itemsdrwxr-xr-x   - ad supergroup          0 2017-08-29 20:47 /druid/segments/wikiticker/20150912T000000.000Z_20150913T000000.000Z

在http://localhost:7081/#/也可以看到wikiticker datasource