configuration and start service

This commit is contained in:
liujianhuan 2020-03-27 13:07:43 +08:00
parent f16a291730
commit 1283ffe914
1 changed files with 141 additions and 2 deletions

View File

@ -87,7 +87,7 @@ Master服务的主要考虑点是可用CPU以及用于Coordinator和Overlord进
在集群化部署时出于容错的考虑最好是部署多个Data服务。 在集群化部署时出于容错的考虑最好是部署多个Data服务。
在选择Data服务的硬件时可以假定一个因子`N`将原来的单服务器环境的CPU和内存除以`N`,然后在新集群中部署`N`个硬件规格缩小的Data服务。 在选择Data服务的硬件时可以假定一个分裂因子`N`将原来的单服务器环境的CPU和内存除以`N`,然后在新集群中部署`N`个硬件规格缩小的Data服务。
##### Query服务 ##### Query服务
@ -256,17 +256,156 @@ druid.indexer.logs.directory=/druid/indexing-logs
您可以将现有的 `coordinator-overlord` 配置从单服务器部署复制到`conf/druid/cluster/master/coordinator-overlord` 您可以将现有的 `coordinator-overlord` 配置从单服务器部署复制到`conf/druid/cluster/master/coordinator-overlord`
##### Data服务 ##### Data服务
假设我们正在从一个32CPU和256GB内存的单服务器部署环境进行迁移在老的环境中Historical和MiddleManager使用了如下的配置
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个16CPU和128GB内存的Data服务各项的调整如下
Historical
* `druid.processing.numThreads`设置为新硬件的(`CPU核数 - 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 Data服务器)
```
druid.processing.buffer.sizeBytes=500000000
druid.processing.numMergeBuffers=8
druid.processing.numThreads=31
```
新的MiddleManager2 Data服务器
```
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服务 ##### Query服务
#### 重新部署
您可以将现有的Broker和Router配置复制到`conf/druid/cluster/query`下的目录中,无需进行任何修改.
#### 首次部署
如果您正在使用如下描述的示例集群规格:
* 1 Master 服务器(m5.2xlarge)
* 2 Data 服务器(i3.4xlarge)
* 1 Query 服务器(m5.2xlarge)
`conf/druid/cluster`下的配置已经为此硬件确定了,一般情况下您无需做进一步的修改。
如果您选择了其他硬件,则[基本的集群调整指南]()可以帮助您调整配置大小。
### 开启端口(如果使用了防火墙) ### 开启端口(如果使用了防火墙)
如果您正在使用防火墙或其他仅允许特定端口上流量准入的系统,请在以下端口上允许入站连接:
#### Master服务 #### Master服务
* 1527Derby元数据存储如果您正在使用一个像MySQL或者PostgreSQL的分离的元数据存储则不需要
* 2181Zookeeper如果使用了独立的ZK集群则不需要
* 8081Coordinator
* 8090Overlord
#### Data服务 #### Data服务
* 8083Historical
* 80918100-8199Druid MiddleManager如果`druid.worker.capacity`参数设置较大的话则需要更多高于8199的端口
#### Query服务 #### Query服务
* 8082Broker
* 8088Router如果使用了
> [!WARNING]
> 在生产中我们建议将ZooKeeper和元数据存储部署在其专用硬件上而不是在Master服务器上。
### 启动Master服务 ### 启动Master服务
将Druid发行版和您编辑的配置文件复制到Master服务器上。
如果您一直在本地计算机上编辑配置则可以使用rsync复制它们
```
rsync -az apache-druid-0.17.0/ MASTER_SERVER:apache-druid-0.17.0/
```
#### 不带Zookeeper启动 #### 不带Zookeeper启动
在发行版根目录中运行以下命令以启动Master服务
```
bin/start-cluster-master-no-zk-server
```
#### 带Zookeeper启动 #### 带Zookeeper启动
如果计划在Master服务器上运行ZK请首先更新`conf/zoo.cfg`以标识您计划如何运行ZK然后您可以使用以下命令与ZK一起启动Master服务进程
```
bin/start-cluster-master-with-zk-server
```
> [!WARNING]
> 在生产中我们建议将ZooKeeper运行在其专用硬件上。
### 启动Data服务 ### 启动Data服务
将Druid发行版和您编辑的配置文件复制到您的Data服务器。
在发行版根目录中运行以下命令以启动Data服务
```
bin/start-cluster-data-server
```
您可以在需要的时候增加更多的Data服务器。
> [!WARNING]
> 对于具有复杂资源分配需求的集群您可以将Historical和MiddleManager分开部署并分别扩容组件。这也使您能够利用Druid的内置MiddleManager自动伸缩功能。
### 启动Query服务 ### 启动Query服务
将Druid发行版和您编辑的配置文件复制到您的Query服务器。
在发行版根目录中运行以下命令以启动Query服务
```
bin/start-cluster-query-server
```
您可以根据查询负载添加更多查询服务器。 如果增加了查询服务器的数量,请确保按照[基本集群调优指南]()中的说明调整Historical和Task上的连接池。
### 加载数据 ### 加载数据
恭喜您现在有了Druid集群下一步是根据使用场景来了解将数据加载到Druid的推荐方法。
了解有关[加载数据](../DataIngestion/index.md)的更多信息。