Druid.io系列(八):部署

摘要:
或其他类似Unix的操作系统(不支持Windows)Atlast4GBofRAM从https://curl-L-H'内容类型:[{“timestamp”:“result”:“User:”page”:
介绍

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

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

单机部署

依赖

  • 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

下载与安装

  1. https://imply.io/get-started 下载最新版本安装包
  2. tar -xzf imply-2.5.14.tar.gz
  3. cd imply-2.5.14

目录说明如下: 
- 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.

启动服务

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

安装验证

导入测试数据

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

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

可视化控制台

  1. 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"   } ] } ]
集群部署

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

集群部署有以下几点需要说明 
1. 为了保证HA,主节点部署两台 
2. 管理节点与查询节点可以考虑多核大内存的机器

部署规划

角色机器配置集群角色
主节点10.5.24.1378C16GCoordinator,Overlord
主节点10.5.24.1388C16GCoordinator,Overlord
数据节点,查询节点10.5.24.1398C16GHistorical, MiddleManager, Tranquility,Broker,Pivot Web
数据节点,查询节点10.5.24.1408C16GHistorical, MiddleManager, Tranquility,(数据节点,查询节点)Broker

部署步骤

公共配置

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

#
# Extensions
#

druid.extensions.directory=dist/druid/extensions
druid.extensions.hadoopDependenciesDir=dist/druid/hadoop-dependencies
druid.extensions.loadList=["druid-parser-route","druid-lookups-cached-global","druid-histogram","druid-datasketches","mysql-metadata-storage","druid-hdfs-storage","druid-kafka-indexing-service"]

#
# Logging
#

# Log all runtime properties on startup. Disable to avoid logging properties on startup:
druid.startup.logging.logProperties=true

#
# Zookeeper
#
druid.zk.service.host=master251
druid.zk.paths.base=/druid

# For MySQL:
druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://master251:3306/druid
druid.metadata.storage.connector.user=druid
druid.metadata.storage.connector.password=druid

#
# Deep storage
#
# For local disk (only viable in a cluster if this is a network mount):
# For HDFS:
druid.storage.type=hdfs
druid.storage.storageDirectory=hdfs://master251:9000/druid/segments

主节点配置

  1. 创建配置文件:cp conf/supervise/master-no-zk.conf conf/supervise/master.conf
  2. 编辑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@druid imply-2.5.14# 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.12.0 -c io.druid.extensions.contrib:druid-rabbitmq:0.12.0 -h org.apache.hadoop:hadoop-client:2.6.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 &

数据节点与查询节点配置

  1. 安装NodeJS:apt-get install nodejs
  2. 创建配置文件:vim conf/supervise/data-with-query.conf
  3. 编辑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 &

验证

可视化控制台

免责声明:文章转载自《Druid.io系列(八):部署》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇pta作业·博客第一篇Java虚拟机解释器与JIT编译器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在window里面安装ubuntu子系统并安装图形化界面

一、开启windows子系统   1、 在win10设置里面开启开发人员选项 (设置--》更新安全--》 开发者选项  )选择开启   2、在控制面板里面开启windows子系统 (启用或关闭windows功能--》找到开启windows子系统 -------------------------------------------------------...

视图的优缺点

视图的优点与缺点 在程序设计的时候必须先了解视图的优缺点,这样可以扬长避短,视图具有如下的一些优点: ● 简单性。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件。 ● 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到...

DGL学习(三): 消息传递教程

在本节中,我们将不同级别的消息传递API与PageRank一起使用。 在DGL中,消息传递和功能转换是用户定义的函数(UDF)。 PageRank 算法: 在PageRank的每次迭代中,每个节点(网页)首先将其PageRank值均匀地分散到其下游节点。 每个节点的新PageRank值是通过汇总从其邻居收到的PageRank值来计算的,然后通过阻尼因子(d...

GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名 zhuan

  1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数...

Tushare模块

.TuShare简介和环境安装 TuShare是一个著名的免费、开源的python财经数据接口包。其官网主页为:TuShare -财经数据接口包。该接口包如今提供了大量的金融数据,涵盖了股票、基本面、宏观、新闻的等诸多类别数据(具体请自行查看官网),并还在不断更新中。TuShare可以基本满足量化初学者的回测需求 环境安装: pip install tu...

iscsiadm基本用法

# rpm –ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm 在服务器上安装了iSCSI initiator以及iscsiadm iscsiadm是基于命令行的iscsi管理工具,提供了对iscsi节点、会话、连接以及发现记录的操作。 iscsiadm的使用说明可以查看/usr/share/doc...