Druid 0.17 入门(2)—— 安装与部署
在Druid快速入门其实已经简单的介绍过最简化配置的单节点部署,本文我们将详细描述Druid的多种部署方式,对于测试开发环境可以选用轻量的单机部署方式,而生产环境我们最好选用集群部署的方式,确保系统的高可用性。
一、单机部署
Druid提供了一组可以参考的配置和单机部署的启动脚本。
nano-quickstart
micro-quickstart
small
medium
large
xlarge
micro-quickstart
尺寸适合笔记本电脑等小型机器,目的是用于快速评估使用情况。
nano-quickstart
适合更小的配置,面向具有1个CPU和4GB内存的计算机。它旨在在资源受限的环境(例如小型Docker容器)中进行有限的评估。
单服务器参考配置
Nano-Quickstart:1个CPU,4GB RAM
- 启动命令:
bin/start-nano-quickstart
- 配置目录:
conf/druid/single-server/nano-quickstart
微型快速入门:4个CPU,16GB RAM
- 启动命令:
bin/start-micro-quickstart
- 配置目录:
conf/druid/single-server/micro-quickstart
小型:8 CPU,64GB RAM(〜i3.2xlarge)
- 启动命令:
bin/start-small
- 配置目录:
conf/druid/single-server/small
中:16 CPU,128GB RAM(〜i3.4xlarge)
- 启动命令:
bin/start-medium
- 配置目录:
conf/druid/single-server/medium
大型:32 CPU,256GB RAM(〜i3.8xlarge)
- 启动命令:
bin/start-large
- 配置目录:
conf/druid/single-server/large
大型X:64 CPU,512GB RAM(〜i3.16xlarge)
- 启动命令:
bin/start-xlarge
- 配置目录:
conf/druid/single-server/xlarge
虽然为大型机器也准备了配置,但是官方还是建议大型的系统采用集群模式部署,
以实现容错和减少资源争用。
二、集群部署
部署建议
集群部署采用的分配如下:
- 主节点部署 Coordinator 和 Overlord进程
- 两个数据节点运行 Historical 和 MiddleManager进程
- 一个查询节点 部署Broker 和 Router进程
未来我们可以添加更多的主节点和查询节点
主节点建议 8vCPU 32GB内存
配置文件位于
conf/druid/cluster/master
数据节点建议
16 vCPU 122GB内存 2 * 1.9TB SSD
配置文件位于
conf/druid/cluster/data
查询服务器 建议 8vCPU 32GB内存
配置文件位于
conf/druid/cluster/query
开始部署
下载最新0.17.0发行版
解压
tar -xzf apache-druid-0.17.0-bin.tar.gz
cd apache-druid-0.17.0
集群模式的主要配置文件都位于:
conf/druid/cluster
配置元数据存储
conf/druid/cluster/_common/common.runtime.properties
替换
druid.metadata.storage.connector.connectURI
druid.metadata.storage.connector.host
例如配置mysql为元数据存储
在mysql中配置好访问权限:
-- create a druid database, make sure to use utf8mb4 as encoding
CREATE DATABASE druid DEFAULT CHARACTER SET utf8mb4;
-- create a druid user
CREATE USER 'druid'@'localhost' IDENTIFIED BY 'druid';
-- grant the user all the permissions on the database we just created
GRANT ALL PRIVILEGES ON druid.* TO 'druid'@'localhost';
在druid中配置
druid.extensions.loadList=["mysql-metadata-storage"]
druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://<host>/druid
druid.metadata.storage.connector.user=druid
druid.metadata.storage.connector.password=diurd
配置深度存储
将数据存储配置为S3或者HDFS
比如配置HDFS,修改
conf/druid/cluster/_common/common.runtime.properties
druid.extensions.loadList=["druid-hdfs-storage"]
#druid.storage.type=local
#druid.storage.storageDirectory=var/druid/segments
druid.storage.type=hdfs
druid.storage.storageDirectory=/druid/segments
#druid.indexer.logs.type=file
#druid.indexer.logs.directory=var/druid/indexing-logs
druid.indexer.logs.type=hdfs
druid.indexer.logs.directory=/druid/indexing-logs
将Hadoop配置XML(core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml)放在Druid中
conf/druid/cluster/_common/
配置zookeeper连接
还是修改
conf/druid/cluster/_common/
下的
druid.zk.service.host
为zk服务器地址就可以了
启动集群
启动前注意打开端口限制
主节点:
derby 1527
zk 2181
Coordinator 8081
Overlord 8090
数据节点:
Historical 8083
Middle Manager 8091, 8100–8199
查询节点:
Broker 8082
Router 8088
记得将刚才配好的druid复制到各个节点
启动主节点
由于我们使用外部zk 所以使用no-zk启动
bin/start-cluster-master-no-zk-server
启动数据服务器
bin/start-cluster-data-server
启动查询服务器
bin/start-cluster-query-server
这样的话 集群就启动成功了!
特别注意:多个机器的host不同 注意在common.runtime.properties中改成对应hostname
如果安装过程中有失败 可以考虑清空zk中的/druid 目录 重新安装
静下心来,努力的提升自己,永远都没有错。更多实时计算相关博文,欢迎关注实时流式计算
Druid 0.17 入门(2)—— 安装与部署的更多相关文章
- Druid 0.17 入门(3)—— 数据接入指南
在快速开始中,我们演示了接入本地示例数据方式,但Druid其实支持非常丰富的数据接入方式.比如批处理数据的接入和实时流数据的接入.本文我们将介绍这几种数据接入方式. 文件数据接入:从文件中加载批处理数 ...
- Druid 0.17入门(4)—— 数据查询方式大全
本文介绍Druid查询数据的方式,首先我们保证数据已经成功载入. Druid查询基于HTTP,Druid提供了查询视图,并对结果进行了格式化. Druid提供了三种查询方式,SQL,原生JSON,CU ...
- Flume1.5.0入门:安装、部署、及flume的案例
转自:http://www.aboutyun.com/thread-8917-1-1.html 问题导读1.什么是flume2.flume的官方网站在哪里?3.flume有哪些术语?4.如何配置flu ...
- 2、Flume1.7.0入门:安装、部署、及flume的案例
一.什么是Flume? flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用. flume的特点: flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的 ...
- 手把手0基础Centos下安装与部署paddleOcr 教程
!!!以下内容为作者原创,首发于个人博客园&掘金平台.未经原作者同意与许可,任何人.任何组织不得以任何形式转载.原创不易,如果对您的问题提供了些许帮助,希望得到您的点赞支持. 0.paddle ...
- skywalking8.1.0(一) 安装与部署
skywalking部署 背景介绍 目前公司后端服务全部为微服务并运行在kubernetes集群上,而大量的微服务的背后拥有很复杂的调用关系,纵使你是公司的资深开发也很难理清每一个后端服务之间的依赖关 ...
- Flume入门:安装、部署
一.什么是Flume? flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original genera ...
- MySQL8.0.17下载与安装
下载环境:Windows 10 下载地址: https://dev.mysql.com/downloads/mysql/ 1.解压压缩包,修改解压目录. 2.在E:\mysql-8.0.17-winx ...
- nginx入门篇----安装、部署、升级
1.安装前准备工作下载nginx安装包依赖包:gcc pcre pcre-level zlib zlib-devel openssl openss-level在线依赖包安装命令:yum -y ins ...
随机推荐
- 【转】常见Java面试题 – 第三部分:重载(overloading)与重写(overriding)
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. 这篇文章介绍的常见面试题是关于重载(overloading)方法和重写( ...
- postman传递当前时间戳
有时我们在请求接口时,需要带上当前时间戳这种动态参数,那么postman能不能自动的填充上呢. 1请求动态参数(例如时间戳) 直接在参数值写 {{$timestamp}} 如下: 我们也可以使用pos ...
- 云原生 - 体验Istio的完美入门之旅(一)
作者:justmine 头条号:大数据达摩院 微信公众号:大数据处理系统 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便大家阅读,可以关注头条号或微信公众号,后 ...
- Maven 基础环境搭建 项目依赖jar包导入
一.创建一个Maven工程 不清楚的话请查阅其它文档. 二.引入项目依赖的jar包 1.Spring 2.SpringMvc 3.Mybatis 4. 数据库连接池,驱动 5.其它(jstl.serv ...
- Spring中bean的实例化过程
1.从缓存中.优先从一级缓存中拿,有则返回. 如果没有,则从二级缓存中获取,有则返回. 如果二级缓存中拿不到,则从三级缓存中拿,能拿到,则从三级缓存中删除,移到二级缓存. 如果三级缓存也没有,则返回n ...
- mysql 执行计划和慢日志记录
一.执行计划 1.作用预估sql语句执行的时间,一般准确2.格式: explain sql语句3.type类型的快慢(all最慢,const最快)all < index < range & ...
- springboot的yml不显示的原因
首先排除插件原因 1 安装好插件Ctrl+Alt+S 2 查看修改的application.yml是什么格 在yaml格式中添加*.yaml和*.yml 3 查看maven是否配置完善
- 为BlueLake主题增加图片放大效果
fancyBox 是一个流行的媒体展示增强组件,可以方便为网站添加图片放大.相册浏览.视频弹出层播放等效果.优点有使用简单,支持高度自定义,兼顾触屏.响应式移动端特性,总之使用体验相当好. 现在,我们 ...
- .net core 连接数据库(通过数据库生成Modell)
创建数据库 (扫盲贴还劳烦大神们勿喷,谢谢) 打开数据库 输入如下代码 创建数据库 CREATE DATABASE [Blogging]; GO USE [Blogging]; GO CREATE T ...
- TypeScript 源码详细解读(4)语法1-语法树
在上一节介绍了标记的解析,就相当于识别了一句话里有哪些词语,接下来就是把这些词语组成完整的句子,即拼装标记为语法树. 树(tree) 树是计算机数据结构里的专业术语.就像一个学校有很多年级,每个年级下 ...