Druid单机环境安装指南
1、下载单机环境必备工具
下载druid-0.10.1-bin.tar.gz和tranquility-distribution-0.8.2.tgz插件
http://druid.io/downloads.html
下载Zookeeper
http://mirrors.hust.edu.cn/apache/zookeeper/
下载Kafka
http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz
2、上传解压druid-0.10.1-bin.tar.gz和tranquility-distribution-0.8.2.tgz
解压druid-0.10.1-bin.tar.gz到指定目录,比如:解压到/alidata/agent/目录下
# tar -zxvf druid-0.10.1-bin.tar.g -C /alidata/agent/
解压tranquility-distribution-0.8.2.tgz到druid-0.10.1目录下
# tar -zxvf tranquility-distribution-0.8.2.tgz -C /alidata/agent/druid-0.10.1
解压Zookeeper到指定目录,比如:/usr/local/
tar -zxvf zookeeper-3.4.9.tar.gz -C /usr/local/
解压Kafka到指定目录,比如:/usr/local/
tar -zxvf kafka_2.11-0.11.0.0.tgz -C /usr/local/
3、安装配置Zookeeper
重命名Zookeeper配置文件
zookeeper默认读取zoo.cfg配置文件,因此需重命名zoo_sample.cfg为zoo.cfg
# mv zoo_sample.cfg zoo.cfg
配置Zookeeper
# 配置zookeeper数据保存路径
dataDir=/tmp/zookeeper/data # 配置zookeeper日志输出路径
dataLogDir=/tmp/zookeeper/logs # 配置zookeeper连接端口
clientPort=2181
启动Zookeeper并查看状态
// 启动zookeeper
# bin/zkServer.sh start // 查看zookeeper状态
# bin/zkServer.sh status
4、安装配置Kafka
配置Kafka
# vi config/server.properties
---
# kafka日志输出路径
log.dirs=/tmp/kafka-logs # kafka分区数量
num.partitions=1 # kafka所连接zookeeper地址和端口,多个zookeeper间用英文逗号隔开,比如:"127.0.0.1:3000,127.0.0.1:3001".
zookeeper.connect=localhost:2181 # kafka连接zookeeper超时时间
zookeeper.connection.timeout.ms=6000
---
启动Kafka并查看状态
// 启动kafka
# bin/kafka-server-start.sh config/server.properties & // 查看kafka状态
# ps -ef | grep kafka
创建topics推送数据到Druid
根据Druid中创建的Schema【相当于数据的表结构】来确定需要创建的topic,从而实现将对应topic数据推送到druid中,比如:druid创建了jvm-metrics、request-metrics、server-metrics、jdbc-metrics、sql-metrics等Schema中 的topicPattern属性值对应的就是kafka的topic
// 创建jvm-metrics主题
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic jvm-metrics // 创建jdbc-metrics主题
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic jdbc-metrics // 创建sql-metrics主题
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic sql-metrics // 创建server-metrics主题
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic server-metrics // 创建request-metrics主题
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic request-metrics
5、安装配置Druid
配置Druid
# vi conf-quickstart/druid/_common/common.runtime.properties
---
# 添加druid kafka插件
druid.extensions.loadList=["druid-kafka-eight"] # 配置zookeeper连接,如果zookeeper端口是2181可以不写端口号,多个zookeeper使用英文逗号分隔
druid.zk.service.host=localhost:12181
# 配置druid在zookeeper的存储路径
druid.zk.paths.base=/druid
---
初始化Druid
初始化druid生成log目录和var目录,log目录用于存放日志,var目录主要用于存储分片、分片缓存以及任务等
# bin/init
启动Druid
启动Druid脚本不分先后顺序,可以以任何顺序启动Druid各节点
// 启动历史数据节点
# java `cat conf-quickstart/druid/historical/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/historical:lib/*" io.druid.cli.Main server historical // 启动查询路由聚合节点
# java `cat conf-quickstart/druid/broker/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/broker:lib/*" io.druid.cli.Main server broker // 启动分片管理发布节点
# java `cat conf-quickstart/druid/coordinator/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/coordinator:lib/*" io.druid.cli.Main server coordinator // 启动任务分配节点
# java `cat conf-quickstart/druid/overlord/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/overlord:lib/*" io.druid.cli.Main server overlord // 启动任务执行节点
# java `cat conf-quickstart/druid/middleManager/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/middleManager:lib/*" io.druid.cli.Main server middleManager
启动Tranquility-Kafka插件
Druid创建的Schema中的commit.periodMillis属性值默认为15秒指定了数据推送时间,tranquility-kafka插件将根据数据根据指定时间间隔将从对应kafka中消费的数据推送到Druid中,如果对实时性要求比较高的话,可以根据实际情况修改commit.periodMillis的值,单位为ms。比如druid已经创建jvm-metrics、sql-metrics、server-metrics、request-metrics、jdbc-metrics等五个Schema,启动Tranquility-Kafka插件读取对应Kafka信息推送到Druid中。
// 进入实时插件目录
# cd tranquility-distribution-0.8.2/ // 启动实时插件消费对应kafka消息,其中kafka-从通过kafka方式获取数据 -configFile:表示Schema路径
# bin/tranquility kafka -configFile ../conf/tranquility/kafka/jvm-metrics
# bin/tranquility kafka -configFile ../conf/tranquility/kafka/sql-metrics
# bin/tranquility kafka -configFile ../conf/tranquility/kafka/jdbc-metrics
# bin/tranquility kafka -configFile ../conf/tranquility/kafka/server-metrics
# bin/tranquility kafka -configFile ../conf/tranquility/kafka/request-metrics
6、Druid数据展示
可视化工具
目前有许多工具支持Druid数据的展示,目前比较流行的有如下集中工具:
grafana: grafana的druid插件,比较简陋。
superset:权限管理完善,图形可定制性也比较高,github持续更新,集合了metabase的Dashboard和pivot的查询可定制性优点,部署相对麻烦。
pivot:基于Plywood,部署方便,能构造复杂的查询。目前已经闭源了,没法二次开发。
Metabase:支持数据库种类多,启动方便,支持json查询。图形化查询,只能有一个聚合字段,两个维度。
如果觉得这些工具不能满足实际需求,也可以自己开发页面进行数据展示。
Http方式查询
Druid支持通过Http方式查询Druid数据,查询参数必须是标准的JSON格式,并且Header必须是Content-Type: application/json,否则无法正常查询数据
http://localhost:8082/druid/v2/?pretty
Druid单机环境安装指南的更多相关文章
- MongoDB3.0.x版本用户授权配置(单机环境)
MongoDB数据库默认情况下是没有做权限控制的,只要能够连接所开放的端口就能进行访问,而且拥有root级别的权限:对于生产环境而言是极不安全的,所以需要建立用户,进行授权控制. 单机环境下的用户授权 ...
- Kafka单机环境部署
前面说过Kafka集群环境的部署,现在主要说一下在本地测试中Kafka单机环境的部署,和前面一样首先保证zookeeper服务的正常运行,然后解压并释放kafka安装包,并放到指定位置: tar -x ...
- storm单机环境部署
前面说过storm集群的部署,这篇主要介绍storm单机环境部署,其实他们之间很类似,就是将之前配置文件中所有的集群条目改成本机的地址即可,部署之前应该按前面solr和zookeeper单机环境部署那 ...
- solr单机环境配置并包含外部单机zookeeper
首先和之前一样下载solr-5.3.1.tgz,然后执行下面命令释放文件并放置在/usr/目录下: $ .tgz $ /usr/ $ cd /usr/solr- 这个时候先不用启动solr,因为单机模 ...
- BizTalk开发系列(三) 单机环境下的BizTalk Server 2006 R2安装
大部分的开发环境都是在单机环境下进行的,今天整理了一下BizTalk Server 2006 R2在单机环境下的安装步骤. 1. 软件需求 在独立服务器中完整安装BizTalk Server 2006 ...
- 科谱,如何单机环境下合理的备份mssql2008数据库
前言: 终于盼来了公司的自用服务器:1U.至强CPU 1.8G 4核.16G内存.500G硬盘 X 2 (RAID1);装了64位win2008,和64位mssql2008.仔细把玩了一天把新老业务系 ...
- unity3d环境安装指南: Unity 4.5.5 + Visual Studio 2010
1. UnitySetup-4.5.5.exe 官网下载最新版本4.X 安装exe文件 2. Unity 4.x Pro Patch.exe 复制exe到安装目录下 C:\Program Files ...
- hbase单机环境的搭建和完全分布式Hbase集群安装配置
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...
- 安装spark1.3.1单机环境
本文介绍安装spark单机环境的方法,可用于测试及开发.主要分成以下4部分: (1)环境准备 (2)安装scala (3)安装spark (4)验证安装情况 1.环境准备 (1)配套软件版本要求:Sp ...
随机推荐
- Jerry的WebClient UI 42篇原创文章合集
我要感谢CRM On Premise, 因为在这个产品上做开发让我得以使用WebClient UI框架.有些朋友觉得这个SAP自己发明的基于HTML+ABAP的MVC框架,和现在流行的三驾马车(Ang ...
- python:常用模块二
1,hashlib模块---摘要算法 import hashlib md5 = hashlib.md5() md5.update('how to use md5 in python hashlib?' ...
- openfiles_(命令)查看已打开的文件列表
效果: 功能: 查看Windows系统的进程信息,包括进程打开了哪些文件 描述: 允许管理员列出系统上已打开的文件和文件夹或与其断开连接. 参数列表: /Disconnect 中断至少一个打开的文件的 ...
- msfconsole_无法启动问题
service postgresql start # 启动数据库服务 msfdb init # 初始化数据库 msfconsole # 启动metasploit
- 2018.11.21 struts2获得servletAPI方式及如何获得参数
访问servletAPI方式 第一种:通过ActionContext (重点及常用 都是获得原生对象) 原理 Action配置 被引入的配置文件 在页面调用取值 第二种:通过ServletAction ...
- mysql时间日期函数
now(), current_timestamp(); -- 当前日期时间 current_date(); -- 当前日期 current_time(); -- 当前时间 date('yyyy-mm- ...
- SPOJ PRIME1 - Prime Generator(线性筛)
Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate ...
- zabbix service安装配置
1.安装时间同步 yum -y install ntpdate systemctl start ntpdate.service systemctl enable ntpdate.service 2.安 ...
- git 本地分支与远程仓库分支关联
当我们从远程仓库项目克隆到本地后,会自动创建本地master分支,并且与远程仓库主分支关联.如果我们需要在本地创建一个分支并且与远程仓库的origin/xxx分支关联,则可以通过以下命令实现 git ...
- MySQL数据库常见报错原因
1.启动数据库时报错 启动 # /etc/init.d/mysqld start Starting MySQL.Logging to '/application/mysql-5.6.36/data/m ...