介绍

前面几个章节对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

下载与安装

tar -xzf imply-2.5.14.tar.gz

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

可视化控制台

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.137

8C16G

Coordinator,Overlord

主节点

10.5.24.138

8C16G

Coordinator,Overlord

数据节点,查询节点

10.5.24.139

8C16G

Historical, MiddleManager, Tranquility,Broker,Pivot Web

数据节点,查询节点

10.5.24.140

8C16G

Historical, 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

主节点配置

创建配置文件: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@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 &

数据节点与查询节点配置

安装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

# Uncommenttouse Tranquility Server

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

# Uncommenttouse 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 mysql 配置_Druid.io系列(八):部署相关推荐

  1. druid.io mysql 配置_druid.io 使用mysql存储metadata overlord启动出错

    这是druid.io批量导入数据时出现的问题,当启动overlord节点时,运行的命令如下: java -Xmx2g -Duser.timezone=UTC -Dfile.encoding=UTF-8 ...

  2. druid 查条数_Druid.io查询分析

    前言 QueryId作为Druid区分查询的唯一标识,是我们定位查询问题有效的输入.用户查询有问题时,优先提供QueryId,如果在日志中捞不到的话,我们再根据dataSource名,interval ...

  3. koa+mysql+vue+socket.io全栈开发之web api篇

    原文地址:koa+mysql+vue+socket.io全栈开发之web api篇 目标是建立一个 web QQ的项目,使用的技术栈如下: 后端是基于koa2 的 web api 服务层,提供curd ...

  4. 修改mysql+io算法_MySQL磁盘IO设置问题

    下面的部分内容来自<深入浅出MySQL>.老叶的视频.网上其他人的blog. 这里列出的是MySQL的一些非运行参数的优化部分,具体如下: (对于使用云主机的用户,下文中的部分优化方法是无 ...

  5. druid不能close mysql连接_druid长时间无操作无法保持连接!!

    纯原生JAVA项目中,Druid作为MySQL连接池时(MySQL默认为8小时没操作就断开),测试场景为10小时不进行任何查询,就算配置了testWhileIdle=true,也不能保持连接,配置如下 ...

  6. nacos配置中心提示com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exceptio

    SpringCloud远程连接NACOS报错, 报错显示连接本地localhost:8848 1.问题描述 在一次项目架构中,使用Spring Cloud Alibaba微服务架构,服务发现和配置中心 ...

  7. 简单配置Mybatis,Druid访问MySQL数据库

    文章目录 前言 一.Mybatis是什么 二.Druid是什么 三.使用步骤 1. 导入Jar包 2. application.yml配置Druid数据源 3. application.yml配置My ...

  8. 学习笔记——STM32C8T6如何配置普通IO口

    最近使用stm32f103c8t6时,想要使用PA15端口作为普通io口输出电平信号,但是发现配置不生效,于是就去网上查,发现要关闭初始状态下芯片默认的专用复位功能,于是总结了一下几个配置普通io口的 ...

  9. MySQL怎么运行的系列(八)14张图说明白MySQL事务原子性和undo日志原理

    本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 Mysql怎么运 ...

  10. 《Windows核心编程系列》九谈谈同步设备IO与异步设备IO之同步设备IO

    <Windows核心编程系列>九谈谈同步设备IO与异步设备IO之同步设备IO 同步设备IO 所谓同步IO是指线程在发起IO请求后会被挂起,IO完成后继续执行. 异步IO是指:线程发起IO请 ...

最新文章

  1. android smack源码分析——接收消息以及如何解析消息
  2. vscode请更新includepath_VS Code Java 九月更新!Coding Pack for Java 带来一键安装新体验!...
  3. android字符串块,Android字符串进阶之一(特殊字符的输入)
  4. postgreSQL源码分析——索引的建立与使用——总结篇
  5. 对自我价值的高估,源自于对他人价值的否定
  6. 面向对象设计的设计原则
  7. mysql check约束无效
  8. scanner读取带空格字符串_Scanner类提供了输入字符出的方法,下面哪个方法可以实现字符串的输入且该串可以含有空格()。-智慧树JAVA程序设计(山东联盟-山东农业大学)章节答案...
  9. Android Lint 代码检查工具的使用
  10. 计算机集成声卡输出通道,电脑如何屏蔽集成声卡使用独立声卡?
  11. 直方图代码matlab,MATLAB直方图均衡化代码(MATLAB histogram equalization code).doc
  12. grep -A -B -C
  13. Redis数据类型和应用场景
  14. Windows 7下Git SSH 创建Key的步骤(by 星空武哥)
  15. linux:The CXX compiler identification is unknown
  16. 开始自学PHP之路3(HTML)
  17. 想方便快捷的分享/收藏图片?试试免费好用的微博/b站图床
  18. 【内网安全-通讯上线】通讯上线基础知识
  19. 视频融合云服务EasyCVR平台部署在云服务器中的配置关键点
  20. resip学习笔记之句柄Handle

热门文章

  1. 分享一下我用Python接单的个人经历,别被死工资拖累!
  2. oracle adjusting parallel,11.2.0.3 实例启动报大内存页信息
  3. Android内存管理基础
  4. 网络编程+IO+多线程
  5. SICP学习笔记----课程规划
  6. 浅析MOS管门极驱动电路背后的秘密
  7. CPA源头渠道,拉新项目天花板,高佣金,简单注册稳定日结,三五分钟即可操作完成
  8. 工作组电脑申请域证书
  9. CentOS7有线未托管,网络连接图标消失
  10. kubeadm init 时异常