Druid平台搭建手册

Druid平台搭建手册

机器和系统的标准规划

  • 机器初始化, 创建用户druid
  • 程序安装在/home/druid/software目录下
  • 数据存放在SSD盘上, 挂载目录为/data, 新建一个名为druid的文件夹
  • 权限授予, druid的用户仅能访问/home/druid/data/druid

机器角色划分和配置

Druid集群不同类型的节点从功能上可以分为3个部分:

  • Master: 管理节点, 包含coordinate和overlord节点, 负责管理数据写入任务及容错相关处理
  • Data: 数据节点, 包含historical和middleManager节点, 负责数据写入处理、历史数据的加载与查询
  • Query: 查询节点, 包含broker节点, 负责提供数据查询接口

以10台机器为例搭建集群

角色数量机器分布SSD端口号
broker201, 02推荐使用8082
overlord1018090
coordinator201, 028081
middleManager803-108091
historical1001-10推荐使用8083
zookeeper503-072181

Druid外部依赖

安装java

  • java使用1.8.0版本
  • 配置环境变量

Druid元数据管理(Metadata Storage)

负责存储和管理整个系统的配置记录信息

以MySQL为例:

  • MySQL数据库需要开通建表和读写的权限, 集群初始化的时候会自动创建相关的元数据表
  • Druid元数据的字符编码需要改为UTF-8
  • mysql-metadata-storage-<version>.tar.gz需自行放置在druid/extensions下并解压

Deep Storage

负责存储和加载Druid的数据文件(Segment)

以HDFS为例:

离线数据的摄入需要使用Yarn平台调度MR程序

  • 安装Hadoop客户端, 方便查看HDFS上的落盘冷数据
  • -把HDFS的集群的配置文件core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml以软链的方式放置在目录druid/conf/druid/_common

集群状态管理服务

由于Druid采用多节点、多角色的分布式设计, 因此管理并同步各个节点的状态信息, 以及新增节点时的服务发现功能则交给ZooKeeper服务来完成

  • 如果Druid集群依赖一套独立的ZooKeeper集群, 那么zookeeper也安装在/home/druid/software目录下

Druid各节点配置

Druid的配置文件位于conf/druid

基础配置

配置文件为common.runtime.properties

Zookeeper配置
#
# Zookeeper
#

druid.zk.service.host=zk.host.ip
druid.zk.paths.base=/druid
元数据存储配置
#
# Metadata storage
#

druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://db.example.com:3306/druid
druid.metadata.storage.connector.user=...
druid.metadata.storage.connector.password=...

For MySQL: 注意用户名和密码不能多输入一个空格

Deep Storage
#
# Deep storage
#

# For HDFS (make sure to include the HDFS extension and that your Hadoop config files in the cp):
#druid.storage.type=hdfs
#druid.storage.storageDirectory=/druid/segments

#
# Indexing service logs
#

# For HDFS (make sure to include the HDFS extension and that your Hadoop config files in the cp):
druid.indexer.logs.type=hdfs
druid.indexer.logs.directory=/druid/indexing-logs
加载需要的扩展包
druid.extensions.loadList=["druid-kafka-eight", "druid-s3-extensions", "druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "mysql-metadata-storage"]

组件调优

Druid的每个组件的配置文件都有jvm.configruntime.properties两个文件

jvm.config的几处通用修改:

  • -Duser.timezone=UTC
  • -Dfile.encoding=UTF-8

启动

  1. 修改并执行init脚本
  2. 修改node.sh中的JAVA_HOME和日志的文件格式
  3. 先启动zookeeper, 再启动Druid的各个服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值