多维分析展示平台Saiku的安装

1 min read

Saiku成立于2008年,由Tom Barber和Paul Stoellberger研发。最初叫做Pentaho分析工具,起初是基于OLAP4J库用GWT包装的一个前端分析工具。经过多年的演化、重写之后,于2010年,改名为Saiku。

Saiku是一个轻量级的OLAP分析引擎,可以方便的扩展、嵌入和配置。Saiku通过REST API连接OLAP系统,利用其友好的界面为用户提供直观的分析数据的方式。它的界面使用HTML、CSS和Javascript实现,从而使得它非常容易自定义。通过使用REST的标准,服务器可以很容易地集成到不同的用户界面和第三方应用程序上,唯一的要求是第三方应用程序可以发送和接受HTTP通信和接收JSON格式的数据。客户端程序不需要了解MDX和相关的查询语言。

Saiku的安装

1、下载Saiku

Saiku的官方网站(www.analytical-labs.com)常常处于不可访问状态,所以很难通过官方网址下载到最新版Saiku Server。推荐从以下地址下载:http://community.meteorite.bi/,实在不行可到GITHUB上去直接下载源代码:https://github.com/OSBI/saiku

2、安装JDK

需要注意的千万不要使用1.8,使用1.7或者1.6即可,最新版的JDK有非常大的兼容性问题,存在安装后Saiku不能运行的情况。在这个点上,本人被坑了好长时间。安装完JDk以后不要忘了设置环境变量。

环境变量设置:

  • JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径C:\Program Files\Java\jdk1.7.0_75
  • Path使得系统可以在任何路径下识别java命令,设为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
  • CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径)

Update:JDK不能使用1.6,使用1.6版本的JDK会引发如下问题,导致程序不能正常运行:

The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NoClassDefFoundError: java/nio/charset/StandardCharsets

3、安装Saiku

安装Saiku的过程非常的简单,直接将下载到的saiku-latest.zip解压出来即可。我存放的目录为:E:\saiku-server

Saiku默认使用的站点端口是:8080,如果你的端口已经被占用了,可通过saiku-server/tomcat/conf/server.xml修改端口。

运行E:\saiku-server目录下的start-saiku.bat启动服务。打开http://localhost:8080/,发现一直是加载状态。一定是启动的时候出错了。打开E:\saiku-server\tomcat\logs目录,查看catalina开头的日志文件,先找到第一个报错信息:

The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

通过Google知道,Tomcat Native 是利用 APR 来提升Tomcat性能的本地API,Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。Apache Tomcat Native library可以通过以下地址进行下载:http://tomcat.apache.org/download-native.cgi,并将下载到的tcnative-1.dll文件复制到C:\Windows\System32目录即可。

解析来解决第二个错误:

2015-2-16 9:50:54 org.apache.catalina.loader.WebappClassLoader validateJarFile

信息: validateJarFile(E:\saiku-server\tomcat\webapps\saiku\WEB-INF\lib\servlet-api-2.3.jar) – jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

2015-2-16 9:50:54 org.apache.catalina.loader.WebappClassLoader validateJarFile

信息: validateJarFile(E:\saiku-server\tomcat\webapps\saiku\WEB-INF\lib\servlet-api-2.5-20081211.jar) – jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

2015-2-16 9:50:54 org.apache.catalina.loader.WebappClassLoader validateJarFile

信息: validateJarFile(E:\saiku-server\tomcat\webapps\saiku\WEB-INF\lib\servlet-api-2.5-6.1.9.jar) – jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

出现上述错误的原因是存在多个servlet-api(E:\saiku-server\tomcat\lib目录下已存在),导致无法正常自动加载。解决方案是将servlet-api-2.3.jar,servlet-api-2.5-20081211.jar和servlet-api-2.3.jar这两个包删除即可。

再次重新启动,就可以看到登陆界面了。使用,账号admin,密码admin即可完成登录,登录后可以看到没有任何数据存在。与数据库的链接在后续的博文中再做补充。

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

使用Prophet进行时间序列预测

Prophet是Facebook开源的预测工具,相比ARIMA模型,Prophet真的是非常的简单。只要读入两
1 min read

采用时间序列预测股价变化

时间序列简介 在数学上,随机过程被定义为一族时间随机变量,即{x(t),t∈T},其中T表示时间t的变动范围。
5 min read

SARIMAX:季节性ARIMA

在先前的使用Python创建季节性ARIMA模型中,出现了SARIMAX模型。在上一篇的文章中并没有讲清楚SA
18 sec read

One Reply to “多维分析展示平台Saiku的安装”

  1. saiku 3.7 那么多的文件夹,需要哪个文件夹的文件,如果修改配置文件,这些内容都没有,说明得太概括了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注