Druid的部署操作

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)

 

转载于:https://my.oschina.net/u/3733194/blog/1580488

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值