Druid的部署操作


声明:本文转载自https://my.oschina.net/u/3733194/blog/1580488,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

1.配置DeepStorge

    Druid的Deep Storge的存储支持包括Local、S3、HDFS在内的三种,可以通过"$confDir/_common/common.runtime.properties"文件进行配置。这里我选择使用HDFS作为DeepStorge的底层存储,Druid使用HDFS作为底层存储需要添加Hadoop的扩展(发行版的Druid默认集成了Hadoop的扩展),并且将Hadoop集群的配置文件(core-site.xm、hdfs-site.xml、mapred-site.xml、yarn-site.xml)拷贝到Druid的"$confDir/_common/"下,当然如果这些文件可以在通过classpath环境变量找到也是可以的。

druid.storage.type=hdfs druid.storage.storageDirectory=/druid/segments

    当然一旦选择的HDFS作为底层存储,推荐将日志的存储也配置为HDFS。

druid.indexer.logs.type=hdfs druid.indexer.logs.directory=/druid/indexing-logs

    最后别忘了在druid.extensions.loadList属性中添加hdfs的支持,这个属性的参数是一个数组,数据元素为Druid启动时所需要加载的扩展内容

druid.extensions.loadList=["druid-hdfs-storage"]

    PS:如果不知道需要加载的扩展内容叫什么,其实有个简单的方式可以确认,加载的扩展内容名称与"$DruidRootDir/extensions/"里面的文件夹名相同,当然如果需要其他发行版所没有默认集成的扩展包,也需要把扩展包复制到这个文件中。

2.配置Metadata Storge

    Druid的默认Metadata Storge使用的数据库是Derby,可以选择的被选方案包括Mysql、PostgerSQL。Derby和PostgreSQL的扩展都是默认集成的,如果需要使用Mysql作为Metadata Storge,则需要在官网额外下载扩展,并解压复制到"$DruidRootDir/extensions/"中。下载mysql-metadata-storge

    相应的配置比较简单

druid.metadata.storage.type=mysql druid.metadata.storage.connector.connectURI=jdbc:mysql://localhost:3306/druid druid.metadata.storage.connector.user=druid druid.metadata.storage.connector.password=diurd

    当然前提条件是在Mysql中有对应的数据库和用户,如果没有需要创建    

  -- create a druid database, make sure to use utf8 as encoding   CREATE DATABASE druid DEFAULT CHARACTER SET utf8;    -- create a druid user, and grant it all permission on the database we just created   GRANT ALL ON druid.* TO 'druid'@'localhost' IDENTIFIED BY 'diurd';

3.配置Zookeeper

druid.zk.service.host=zk.host.ip druid.zk.paths.base=/druid

4.启动Druid

    如果是全新部署的Druid,需要先运行

$DruidRootDir/bin/init

    启动时可以根据不同的集群规划在不同的机器上运行Druid的各个组建,启动之前需要查看各组件的jvm.config文件中的配置,确保有足够的内存启动。

    其中尤为需要注意的historical/jvm.config中的-XX:MaxDirectMemorySize=4096m这个配置,XX:MaxDirectMemorySize的大小不能随意设置,需要计算,具体的计算公式为:

XX:MaxDirectMemorySize = druid.processing.buffer.sizeBytes[536,870,912] * (druid.processing.numMergeBuffers[2] + druid.processing.numThreads[7] + 1)

      PS:其中[]中的值为默认值,如果机器内存不足需要在historical/runtime.properties和broker/runtime.properties文件中进行配置。

druid.processing.buffer.sizeBytes=536,870,912 druid.processing.numMergeBuffers=2 druid.processing.numThreads=7

     PS:默认配置中,所需的内存计算结果为5GB

#启动historical $DruidRootDir/bin/historical.sh start #启动broker $DruidRootDir/bin/broker.sh start #启动coordinator $DruidRootDir/bin/coordinator.sh start #启动overlord $DruidRootDir/bin/overlord.sh start #启动middleManager $DruidRootDir/bin/middleManager.sh start

    启动日志可以在$DruidRootDir/log文件夹中查看

5.Druid启动的相关端口

8081 (Coordinator) 8082 (Broker) 8083 (Historical) 8084 (Standalone Realtime, if used) 8088 (Router, if used) 8090 (Overlord) 8091, 8100–8199 (Druid Middle Manager; 如果Druid的work很多,则需要的端口可能要比8199更大) 8200 (Tranquility Server, if used)

 

本文发表于2017年11月27日 18:39
(c)注:本文转载自https://my.oschina.net/u/3733194/blog/1580488,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2076 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1