Druid 集群方式部署 —— 配置调整
从一个单独部署服务器上进行合并到集群的时候,需要对下面的一些配置进行调整。
Master 服务
如果你已经有一个已经存在并且独立运行的独立服务器部署的话,例如在页面 single-server deployment examples 中部署的服务器,
下面的这个示例将会帮助你将 Coordinator 和 Overlord 合并到一个进程上面
conf/druid/cluster/master/coordinator-overlord
下面的示例,显示例如如何同时合并 Coordinator 和 Overlord 进程。
你可以从已经部署的独立服务器上拷贝已经存在 coordinator-overlord
配置文件,并部署到 conf/druid/cluster/master/coordinator-overlord
。
Data 服务
假设我们将要从一个 32 CPU 和 256GB 内存的独立服务器上进行合并。
在老的部署中,下面的配置是针对 Historicals 和 MiddleManagers 进程的:
Historical(独立服务器部署)
druid.processing.buffer.sizeBytes=500000000
druid.processing.numMergeBuffers=8
druid.processing.numThreads=31
MiddleManager(独立服务器部署)
druid.worker.capacity=8
druid.indexer.fork.property.druid.processing.numMergeBuffers=2
druid.indexer.fork.property.druid.processing.buffer.sizeBytes=100000000
druid.indexer.fork.property.druid.processing.numThreads=1
在集群部署环境中,我们可以选择使用 2 个服务器来运行上面的 2 个服务,这 2 个服务器的配置为 16CPU 和 128GB RAM 。
我们将会按照下面的配置方式进行配置:
Historical
druid.processing.numThreads
: 基于配置的新硬件环境,设置为(num_cores - 1)
druid.processing.numMergeBuffers
: 针对独立服务器使用的数量使用分裂因子相除druid.processing.buffer.sizeBytes
: 保持不变
MiddleManager:
druid.worker.capacity
: 针对独立服务器使用的数量使用分裂因子相除druid.indexer.fork.property.druid.processing.numMergeBuffers
: 保持不变druid.indexer.fork.property.druid.processing.buffer.sizeBytes
: 保持不变druid.indexer.fork.property.druid.processing.numThreads
: 保持不变
在完成上面配置后的结果如下:
集群 Historical (使用 2 个数据服务器)
druid.processing.buffer.sizeBytes=500000000
druid.processing.numMergeBuffers=8
druid.processing.numThreads=31
集群 MiddleManager (使用 2 个数据服务器)
druid.worker.capacity=4
druid.indexer.fork.property.druid.processing.numMergeBuffers=2
druid.indexer.fork.property.druid.processing.buffer.sizeBytes=100000000
druid.indexer.fork.property.druid.processing.numThreads=1
Query 服务
你可以将已经在独立服务器部署中存在的配置文件拷贝到 conf/druid/cluster/query
目录中完成部署。
如果新的服务器的硬件配置和独立服务器的配置是相对的话,新的部署不需要做修改。
刷新部署 deployment
如果你使用下面的服务器配置环境为示例的话:
- 1 Master server (m5.2xlarge)
- 2 Data servers (i3.4xlarge)
- 1 Query server (m5.2xlarge)
在 conf/druid/cluster
文件夹中的配置文件已经针对上面的硬件环境进行了优化,针对基本情况的使用来说,你不需要针对上面的配置进行修改。
如果你选择使用不同的硬件的话,页面 basic cluster tuning guide 中的内容能够帮助你对你的硬件配置做一些选择。
原文地址:https://www.cnblogs.com/huyuchengus/p/15110367.html
- WCF系列教程之消息交换模式之请求与答复模式(Request/Reply)
- Koa-router源码解读
- WCF系列教程之初识WCF
- IntelliJ IDEA 缓存和索引的介绍及清理方法
- Node.js原理
- WCF系列教程之WCF消息交换模式之单项模式
- React Native调用Android相机图库
- IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍
- 设置 IntelliJ IDEA 主题和字体的方法
- 修改 IntelliJ IDEA 模板注释中的 user 内容
- Android仿京东、天猫商品详情页
- C# checked和unchecked运算符
- 迭代子模式
- WCF系列教程之WCF中的会话
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法