configuration tuning

This commit is contained in:
liujianhuan 2020-03-27 09:30:43 +08:00
parent e6e7bf4fb8
commit f16a291730
1 changed files with 88 additions and 0 deletions

View File

@ -160,13 +160,101 @@ cd apache-druid-0.17.0
[MySQL扩展]()和[PostgreSQL]()扩展文档包含有关扩展配置和初始数据库安装的说明。
#### 深度存储
Druid依赖于分布式文件系统或大对象blob存储来存储数据最常用的深度存储实现是S3适合于在AWS上和HDFS适合于已有Hadoop集群
##### S3
在`conf/druid/cluster/_common/common.runtime.properties`中,
* 在`druid.extension.loadList`配置项中增加"druid-s3-extensions"扩展
* 注释掉配置文件中用于本地存储的"Deep Storage"和"Indexing service logs"
* 打开配置文件中关于"For S3"部分中"Deep Storage"和"Indexing service logs"的配置
上述操作之后,您将看到以下的变化:
```
druid.extensions.loadList=["druid-s3-extensions"]
#druid.storage.type=local
#druid.storage.storageDirectory=var/druid/segments
druid.storage.type=s3
druid.storage.bucket=your-bucket
druid.storage.baseKey=druid/segments
druid.s3.accessKey=...
druid.s3.secretKey=...
#druid.indexer.logs.type=file
#druid.indexer.logs.directory=var/druid/indexing-logs
druid.indexer.logs.type=s3
druid.indexer.logs.s3Bucket=your-bucket
druid.indexer.logs.s3Prefix=druid/indexing-logs
```
更多信息可以看[S3扩展]()部分的文档。
##### HDFS
在`conf/druid/cluster/_common/common.runtime.properties`中,
* 在`druid.extension.loadList`配置项中增加"druid-hdfs-storage"扩展
* 注释掉配置文件中用于本地存储的"Deep Storage"和"Indexing service logs"
* 打开配置文件中关于"For HDFS"部分中"Deep Storage"和"Indexing service logs"的配置
上述操作之后,您将看到以下的变化:
```
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的配置文件core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml放置在Druid进程的classpath中可以将他们拷贝到`conf/druid/cluster/_common`目录中
更多信息可以看[HDFS扩展]()部分的文档。
### Hadoop连接配置
如果要从Hadoop集群加载数据那么此时应对Druid做如下配置
* 在`conf/druid/cluster/_common/common.runtime.properties`文件中更新`druid.indexer.task.hadoopWorkingPath`配置项将其更新为您期望的一个用于临时文件存储的HDFS路径。 通常会配置为`druid.indexer.task.hadoopWorkingPath=/tmp/druid-indexing`
* 需要将Hadoop的配置文件core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml放置在Druid进程的classpath中可以将他们拷贝到`conf/druid/cluster/_common`目录中
请注意您无需为了可以从Hadoop加载数据而使用HDFS深度存储。例如如果您的集群在Amazon Web Services上运行即使您使用Hadoop或Elastic MapReduce加载数据我们也建议使用S3进行深度存储。
更多信息可以看[基于Hadoop的数据摄取]()部分的文档。
### Zookeeper连接配置
在生产集群中我们建议使用专用的ZK集群该集群与Druid服务器分开部署。
`conf/druid/cluster/_common/common.runtime.properties` 中,将 `druid.zk.service.host` 设置为包含用逗号分隔的hostport对列表的连接字符串每个对与ZK中的ZooKeeper服务器相对应。例如" 127.0.0.1:4545"或"127.0.0.1:3000,127.0.0.1:3001、127.0.0.1:3002"
您也可以选择在Master服务上运行ZK而不使用专用的ZK集群。如果这样做我们建议部署3个Master服务以便您具有ZK仲裁。
### 配置调整
#### 从单服务器环境迁移部署
##### Master服务
如果您使用的是[单服务器部署示例](./chapter-3.md)中的示例配置则这些示例中将Coordinator和Overlord进程合并为一个合并的进程。
`conf/druid/cluster/master/coordinator-overlord` 下的示例配置同样合并了Coordinator和Overlord进程。
您可以将现有的 `coordinator-overlord` 配置从单服务器部署复制到`conf/druid/cluster/master/coordinator-overlord`
##### Data服务
##### Query服务
#### 重新部署