前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >druid安装和使用

druid安装和使用

原创
作者头像
用户8761231
发布2022-02-22 00:04:52
1.2K0
发布2022-02-22 00:04:52
举报
文章被收录于专栏:大数据学习与研究

1背景

Druid是目前非常流行的一款高性能的、分布式列存储的实时OLAP框架,有比较多的用户需要部署该框架解决他们的业务问题。

2说明

本文档适用于在EMRv2.1.0版本部署Druid系统。

3目标

在EMRv2.1.0集群上成功安装Druid, 并且正常运行。

4安装步骤

4.1Druid安装包准备

官网下载Druid源码包, https://druid.apache.org/downloads.html

将安装包上传至emr master1服务器的/usr/local/service目录,使用如下命令解压:

tar -xzf apache-druid-0.17.0-bin.tar.gz

cd apache-druid-0.17.0

mv apache-druid-0.17.0 druid

4.2测试环境硬件信息

Druid组件

EMR节点类型

硬件信息

Master Server

Master2

4核16G

Query Server

Master1

4核16G

Data Server

Core

8核32G

4.3配置修改

4.3.1元数据库配置

Druid默认使用derby数据库存储元数据,生产环境推荐使用mysql,可以使用EMR集群自带的cdb作为druid元数据库。

1.登录cdb,执行如下命令,创建druid数据库:

-- create a druid database, make sure to use utf8 as encoding

CREATE DATABASE druid DEFAULT CHARACTER SET utf8;

2.Druid安装包目录$DRUID_HOME/extensions/mysql-metadata-storage下部署mysql-connector-java-x.x.xx.jar, 该jar包可在emr集群的hive目录下找到。

3.$DRUID_HOME/conf/druid/cluster/_common/common.runtime.properties修改

将如下参数,替换为mysql配置

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

druid.metadata.storage.type=mysql

druid.metadata.storage.connector.connectURI=jdbc:mysql:///druid

druid.metadata.storage.connector.user=root

druid.metadata.storage.connector.password=

4.3.2Deep storage配置

Druid默认使用本地磁盘存储数据,生产环境推荐使用hdfs分布式存储系统,需修改$DRUID_HOME/conf/druid/cluster/_common/common.runtime.properties配置文件

1.druid.extensions.loadList追加druid-hdfs-storage

2.Deep Storage和Indexing service logs部分注释掉本地存储配置

3.Deep Storage和Indexing service logs部分打开hdfs存储配置

修改完成之后的配置如下:

druid.extensions.loadList=[ "druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches","mysql-metadata-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

4.Hadoop集群配置文件(core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml)复制或软链到$DRUID_HOME/conf/druid/cluster/_common目录

4.3.3Zookeeper环境配置

修改$DRUID_HOME/conf/druid/cluster/_common/common.runtime.properties配置文件,将druid.zk.service.host参数的值修改为emr集群的zk节点,示例如下:

druid.zk.service.host=10.9.0.21:2181,10.9.0.15:2181,10.9.0.11:2181

druid.zk.paths.base=/druid

4.3.4druid.host修改

druid依赖zk进行分布式协调和通信,所以各服务会向zk注册host信息,druid.host默认值是localhost, 在多个节点部署时,该值会造成冲突,所以需要修改为节点hostname, 命令如下:

sed -i "s/druid.host=localhost/druid.host=${HOSTNAME}/g" /usr/local/service/druid/conf/druid/cluster/_common/common.runtime.properties && cat /usr/local/service/druid/conf/druid/cluster/_common/common.runtime.properties |grep druid.host

4.3.5Query Server端口修改

因query server中的router进程端口默认是8888,与emr agent的端口冲突,需要修改$DRUID_HOME/conf/druid/cluster/query/router/runtime.properties文件,将端口改为8889

druid.service=druid/router

druid.plaintextPort=8889

4.3.6启动服务

将配置好的安装包,分发到集群所有节点,分别启动服务

1.Master Server

$DRUID_HOME/bin/start-cluster-master-no-zk-server &

2.Data Server

$DRUID_HOME/bin/start-cluster-data-server &

3.Query Server

$DRUID_HOME/bin/start-cluster-query-server &

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1背景
  • 2说明
  • 3目标
  • 4安装步骤
    • 4.1Druid安装包准备
      • 4.2测试环境硬件信息
        • 4.3配置修改
          • 4.3.1元数据库配置
          • 4.3.2Deep storage配置
          • 4.3.3Zookeeper环境配置
          • 4.3.4druid.host修改
          • 4.3.5Query Server端口修改
          • 4.3.6启动服务
      相关产品与服务
      大数据
      全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档