Druid 部署总结

小编 2026-06-24 阅读:1668 评论:0
1.介绍     前面几个章节对Druid的整体架构做了简单的说明,本文主要描述如何部署Druid的环境     Imply提供了一套完整的部署方式,包括依赖库,Druid,图形化的数据展示页面,SQL...

1.介绍

    前面几个章节对Druid的整体架构做了简单的说明,本文主要描述如何部署Druid的环境

    Imply提供了一套完整的部署方式,包括依赖库,Druid,图形化的数据展示页面,SQL查询组件等。本文将基于Imply套件进行说明

 

2.单机部署

2.1 依赖

    Java 8 or better

    Node.js 4.5.x or better

    Linux, Mac OS X, or other Unix-like OS (Windows is not supported)

    At least 4GB of RAM

 

2.2 下载与安装

    2.2.1 从https://imply.io/get-started 下载最新版本安装包

    2.2.2 tar -xzf imply-2.3.9.tar.gz

    2.2.3 cd imply-2.3.9

目录说明如下:

- bin/ - run scripts for included software.

- conf/ - template configurations for a clustered setup.

- conf-quickstart/* - configurations for the single-machine quickstart.

- dist/ - all included software.

- quickstart/ - files related to the single-machine quickstart.

 

2.3 启动服务

    bin/supervise -c conf/supervise/quickstart.conf

 

2.4 安装验证

2.4.1 导入测试数据

    安装包中包含一些测试的数据,可以通过执行预先定义好的数据说明文件进行导入

    bin/post-index-task --file quickstart/wikiticker-index.json

 

2.4.2 可视化控制台

    overlord 控制页面:http://localhost:8090/console.html.

    druid集群页面:http://localhost:8081

    数据可视化页面:http://localhost:9095

 

2.4.3 数据展示与查询

    数据展示:对渠道进行统计的柱状图

\"\"

    SQL数据查询:使用sql查询编辑次数最多的10个page

\"\"

    HTTP POST数据查询

    命令:curl -L -H’Content-Type: application/json’ -XPOST –data-binary @quickstart/wikiticker-top-pages.json http://localhost:8082/druid/v2?pretty

    结果:

[ {

  \"timestamp\" : \"2016-06-27T00:00:11.080Z\",

  \"result\" : [ {

    \"edits\" : 29,

    \"page\" : \"Copa América Centenario\"

  }, {

    \"edits\" : 16,

    \"page\" : \"User:Cyde/List of candidates for speedy deletion/Subpage\"

  },

  ..........

  {

    \"edits\" : 8,

    \"page\" : \"World Deaf Championships\"

  } ]

} ]

 

3.集群部署

    集群配置的规划需要根据需求来定制,下面以一个开发环境机器搭建为例,描述如何搭建一个有HA特性的Druid集群.

    集群部署有以下几点需要说明

    1. 为了保证HA,主节点部署两台

    2. 管理节点与查询节点可以考虑多核大内存的机器

 

3.1 部署规划

\"\"

3.2 部署步骤

3.2.1 公共配置

    编辑conf/druid/_common/common.runtime.properties 文件内容

    loadList配置:==此处需要统一在一个位置统一定义,否则会出现extension加载的问题==

druid.extensions.loadList=[\"mysql-metadata-storage\",\"druid-hdfs-storage\"]

    Zookeeper

#

# Zookeeper

#

 

druid.zk.service.host=native-lufanfeng-2-5-24-138:2181,native-lufanfeng-3-5-24-139:2181,native-lufanfeng-4-5-24-140:2181

druid.zk.paths.base=/druid

    MetaData:使用Mysql

# For MySQL:

 

druid.metadata.storage.type=mysql

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

druid.metadata.storage.connector.user=root

druid.metadata.storage.connector.password=123456

    Deepstorage:使用HDFS

#druid.storage.type=local

#druid.storage.storageDirectory=var/druid/segments

 

druid.storage.type=hdfs

druid.storage.storageDirectory=hdfs://10.5.24.137:9000/druid/segments

 

#druid.indexer.logs.type=file

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

 

druid.indexer.logs.type=hdfs

druid.indexer.logs.directory=hdfs://10.5.24.137:9000/druid/indexing-logs

 

3.2.2 主节点配置

    创建配置文件:cp conf/supervise/master-no-zk.conf conf/supervise/master.conf

    编辑master.conf 内容如下:

:verify bin/verify-java

:verify bin/verify-version-check

 

coordinator bin/run-druid coordinator conf

!p80 overlord bin/run-druid overlord conf

    目前的版本中,mysql-metadata-storage没有包含在默认的安装包中,如果使用mysql存储元数据,需要单独安装下对应的扩展,是用下列命令在两个master节点上对需要用到的扩展进行安装:

root@native-lufanfeng-1-5-24-137:~/imply-2.3.8# java -classpath \"dist/druid/lib/*\"  -Ddruid.extensions.directory=\"dist/druid/extensions\" io.druid.cli.Main tools pull-deps  -c io.druid.extensions:mysql-metadata-storage:0.10.1 -c io.druid.extensions.contrib:druid-rabbitmq:0.10.1 -h org.apache.hadoop:hadoop-client:2.7.0

    ==默认mysql-metadata-storage带的mysql驱动是针对Mysql 5.1的,如果使用Mysql的版本是5.5 或是其他版本,可能会出现”Communications link failure”的错误,此时需要更新Mysql的驱动。==

    在10.5.24.137/138上启动master相关服务:nohup bin/supervise -c conf/supervise/master.conf > master.log &

 

3.2.3 数据节点与查询节点配置

    安装NodeJS:apt-get install nodejs

    创建配置文件:vim conf/supervise/data-with-query.conf

    编辑data-with-query.conf 内容如下:

:verify bin/verify-java

:verify bin/verify-node

:verify bin/verify-version-check

 

broker bin/run-druid broker conf

imply-ui bin/run-imply-ui conf

 

 

historical bin/run-druid historical conf

middleManager bin/run-druid middleManager conf

 

# Uncomment to use Tranquility Server

#!p95 tranquility-server bin/tranquility server -configFile conf/tranquility/server.json

 

# Uncomment to use Tranquility Kafka

#!p95 tranquility-kafka bin/tranquility kafka -configFile conf/tranquility/kafka.json

    对于集群模式,pivot的配置文件必须调整为mysql,sqllite会导致无法查看datasource,修改conf/pivot/config.xml文件

settingsLocation:

  location: mysql

  uri: \'mysql://root:123456@10.5.24.151:3306/druid\'

  table: \'pivot_state\'

  initialSettings:

  clusters:

    - name: druid

      type: druid

      host: localhost:8082

    在10.5.24.139/140两台机器上分别执行:nohup bin/supervise -c conf/supervise/data-with-query.conf > data-with-query.log &

 

3.3 验证

可视化控制台

    overlord 控制页面:http://10.5.24.138:8090/console.html.

    druid集群页面:http://10.5.24.138:8081

    数据可视化页面:http://10.5.24.139:9095

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表