搭建apache druid

官网下载最新版包
官网说明:https://druid.apache.org/docs/latest/tutorials/cluster.html
准备4台服务器:1个master、2个data、1个query,整体架构如下图
在这里插入图片描述
在这里插入图片描述

安装包目录结构:
在这里插入图片描述
修改common配置文件

vim conf/druid/cluster/_common/common.runtime.properties

druid.extensions.loadList=["druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches","mysql-metadata-storage"]
druid.zk.service.host=zk-slave1:2181,zk-slave2:2181,zk-slave3:2181
druid.zk.paths.base=/druid
druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://mysql-server:13306/druid
druid.metadata.storage.connector.user=root
druid.metadata.storage.connector.password=123456
druid.storage.type=hdfs
druid.storage.storageDirectory=hdfs://clj/druid/segments
druid.indexer.logs.type=hdfs
druid.indexer.logs.directory=hdfs://clj/druid/indexing-logs

core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml copy到_common目录

cp /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/etc/hadoop/conf.dist/core-site.xml conf/druid/cluster/_common/
cp /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/etc/hadoop/conf.dist/hdfs-site.xml conf/druid/cluster/_common/
cp /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/etc/hadoop/conf.dist/yarn-site.xml conf/druid/cluster/_common/
cp /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/etc/hadoop/conf.dist/mapred-site.xml conf/druid/cluster/_common/

jar包替换

/u-data/druid/apache-druid-0.21.1/extensions/druid-hdfs-storage
下面hadoop相关包换成当前版本的
 cp /opt/cloudera/parcels/CDH/lib/hadoop/lib/*.jar .
 cp /opt/cloudera/parcels/CDH/lib/hadoop/*.jar .

mysql驱动放入指定目录:extensions/mysql-metadata-storage
例如:mysql-connector-java-5.1.48.jar 放入对应的目录下

将修改后的druid压缩打包scp到其他节点
master启动

nohup bin/start-cluster-master-no-zk-server &

data启动

nohup bin/start-cluster-data-server &

query启动

nohup bin/start-cluster-query-server &

attention: zookeeper为外部共用的,这边就没有单独搭建
端口冲突问题:先查下8081等端口是否被占用;

vim conf/druid/cluster/master/coordinator-overlord/runtime.properties
很多runtime.properties度可以检查一下端口情况,根据实际进行修改

基础功能演示

搭建成功后界面如下所示
注意:访问的是query的8888端口
在这里插入图片描述
Druid支持多种数据导入方式:

  • UI界面,根据步骤和提示,一步步执行即可
  • UI界面,提交json格式的task文件
  • 本地curl命令提交json格式的task文件
  • Druid家目录下,执行自带的post-index-task

UI界面

点击左上方的Load data按钮,选择数据源类型即可。可以选择Kafka、local、hdfs等。然后根据步骤提示操作即可。需要注意的是,在这一步骤,可以设置数据导入的并行度,提高数据摄取速度。
在这里插入图片描述

UI界面,提交json格式的task文件

和第一种类似,但是需要自己编辑task文件。指定时间列、维度列和指标列的信息,指定聚合粒度等。
在ingestion界面,点击提交即可。
在这里插入图片描述

本地curl命令提交json格式的task文件

编辑task任务,在命令行提交。示例如下,根据自己数据编辑对应内容。
在命令行提交。

curl -X 'POST' -H 'Content-Type:application/json' -d @filepath/task.json http://master:18081/druid/indexer/v1/task

bin目录下,自带的post-index-task

指定task任务的文件位置,提交任务即可。

bin/post-index-task --file filepath/task.json --url http://master:18081
GitHub 加速计划 / druid / druid
27.83 K
8.56 K
下载
阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
最近提交(Master分支:3 个月前 )
f060c270 - 8 天前
1613a765 * Improve gaussdb ddl parser * fix temp table 10 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐