美文网首页
Apache druid 环境搭建

Apache druid 环境搭建

作者: 莫道_bf96 | 来源:发表于2020-01-15 15:57 被阅读0次

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 整合方式

相关文章

网友评论

      本文标题:Apache druid 环境搭建

      本文链接:https://www.haomeiwen.com/subject/lsmtzctx.html