Apache druid 环境搭建

0.背景

Apache druid 是一个OLAP的解决方案。支持离线数据和实时数据的写入。具体还需要进行探究。
先进行本地版本测试一下上手

1. 搭建

按照官网教程下载了0.16的安装包。
按照教程启动

cd apache-druid-0.16.0-incubating
./bin/start-micro-quickstart

出现了错误zk无法启动,日志如下

#./var/sv/zk.log
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/jmx/HierarchyDynamicMBean
        at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:51)
        at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:77)
        at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:55)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:119)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.jmx.HierarchyDynamicMBean
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 5 more

通过追踪启动脚本,查看了启动脚本

#./bin/run-zk 发现了zk 路径
exec java `cat "$CONFDIR"/jvm.config | xargs` \
  -cp "$WHEREAMI/../zk/lib/*:$WHEREAMI/../zk/*:$CONFDIR/log4j.xml" \
  org.apache.zookeeper.server.quorum.QuorumPeerMain \
  "$CONFDIR"/zoo.cfg

比较奇怪的是,下载的包中并无zk

解决方案是下载zk,并进行重新命名目录为zk

重新启动成功

2.构建DataSource

打开控制台,http://localhost:8888
发现了很多的概念,铺面而来。

按照文档步骤上传本地文件,一路顺利。
使用SQL 查询遇到了一些问题,看起来sql 封装不够成熟。

# 字段中有 count 这个关键字的字段,然后count/sum的sql写起来就各种报错。
# 报错1,因为count 字段名是关键词
SELECT COUNT(count) FROM "wikiticker-2015-09-12-sampled" where namespace='Main'

# 报错2,因为不支持`转义
SELECT COUNT(`count`) FROM "wikiticker-2015-09-12-sampled" where namespace='Main'

#报错3,' 是字符串专用的,不能和" 换用
SELECT SUM('count') FROM "wikiticker-2015-09-12-sampled" where namespace='Main'

#关键词正确写法,"是正确转义符号
SELECT sum("count") FROM "wikiticker-2015-09-12-sampled" where namespace='Main'

3. 下一步计划

1.熟悉druid各种概念,熟悉各种配置参数意义

  1. 部署集群版本
  2. 考虑与Hadoop,Flink 整合方式
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Druid.io(以下简称Druid)是面向海量数据的、用于实时查询与分析的OLAP存储系统。Druid的四大关键...
    大诗兄_zl阅读 11,522评论 0 9
  • 0. Overview 后面将写几篇文章介绍一下 OLAP 的大数据系统架构。这里的 Druid 不是阿里巴巴的连...
    legendtkl阅读 9,591评论 1 3
  • 一、Druid介绍 Druid 是 MetaMarket 公司研发,专为海量数据集上的做高性能 OLAP (OnL...
    有赞技术团队阅读 7,429评论 3 16
  • Druid具有高可用、高容错的特性。 本文将搭建一个简单的Druid集群,并且将会讨论如何进一步配置以满足您的需求...
    helloworld1214阅读 11,959评论 1 5
  • 在现代有很多人一说到曹操就想到多疑、奸诈、残暴、嗜杀这一系列不是很好的词汇,但是人无完人曹操也是英雄也有他的优点。...
    茉瞳阅读 3,538评论 1 0