学习 Druid (二):搭建 Druid 集群

依赖

  • Metadata Storage(元数据存储)MySQL 或 PostgreSQL 用于存储元数据信息
  • ZooKeeper(集群状态管理服务)用于集群协调
  • Deep Storage(数据文件存储库) HDFS 或 Cassandra 用于存储冷数据

下载

当前 Druid 最新版为:0.11.0,下载地址:http://druid.io/downloads.html

下载 druid-0.11.0-bin.tar.gz,并解压缩

wget http://static.druid.io/artifacts/releases/druid-0.11.0-bin.tar.gz && tar -zxf druid-0.11.0-bin.tar.gz  

下载mysql-metadata-storage-0.11.0.tar.gz 到本地,解压缩到 extensions 目录

目录结构

  • bin 脚本
  • conf/* 配置
  • extensions/* Druid 扩展
  • hadoop-dependencies/* Druid Hadoop 依赖
  • lib/* Druid 依赖的核心软件包

配置

配置元数据

编辑 conf/druid/_common/common.runtime.properties 文件

首先,确认 Druid 加载了 MySQL Metadata Storage 扩展:

druid.extensions.loadList=["mysql-metadata-storage"]  

然后,配置 Metadata storage:

# For MySQL:
druid.metadata.storage.type=mysql  
druid.metadata.storage.connector.connectURI=jdbc:mysql://druid-metastore:3306/druid  
druid.metadata.storage.connector.user=druid  
druid.metadata.storage.connector.password=secret  

配置 ZooKeeper

配置 ZooKeeper 集群 IP 地址,多个 IP 使用逗号分隔:

druid.zk.service.host=zk1,zk2,zk3  
druid.zk.paths.base=/druid  

配置 DeepStorage

首先,确认 Druid 加载了 HDFS 存储扩展:

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

然后,配置 Deep storage 和 Indexing server logs:

druid.storage.type=hdfs  
druid.storage.storageDirectory=/druid/segments  
druid.indexer.logs.type=hdfs  
druid.indexer.logs.directory=/druid/indexing-logs  

最后,将 Hadoop 配置文件 core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml 拷贝到 conf/druid/_common 目录下

启动服务

TODO