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各种概念,熟悉各种配置参数意义
- 部署集群版本
- 考虑与Hadoop,Flink 整合方式
网友评论