Saiku上线部署准备

零零散散琢磨了快5个月了,终于快要上线了哈哈哈哈哈.....  激动!!!

以下是本地打包编译saiku至部署到服务器上使用的完整步骤哦

saiku部署到服务器

源码编译需要注意的的点
1.更改WS地址,根据生成的webClient打包新的jar包(校验登录)  # 这一点是因为我更改了saiku登录源码,加入了公司的登录校验 所以会有这一步,如果没改saiku的登录是不需要care的啦

2.更改配置文件中关于数据库的配置(用于存储saiku的用户以及角色信息)  #这里是因为我更改了saiku的用户及角色存储的数据库 H2转mysql 
  web.xml

  

  saiku-beans.properteis

   

  applicationContext-spring-security-jdbc.properties

   

3.将编译后的saiku-server 打包为zip(saiku-server.zip) 然后上传置服务器

服务器上需要注意的点
1.解压压缩包 unzip saiku-server.zip

2.给目录赋权限 chmod -R 755 saiku-server

3.将来备份好的数据 repository目录替换(之前配置好的cube 用户角色信息以及保存好的数据信息都会存在)

4.防止内存溢出,更改saiku-server/tomcat/bin/catalina.sh
  export CATALINA_OPTS="-Xms1024m -Xmx2048m -Xss1024k -XX:PermSize=256m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC"

   防止多次导出excel出现内存溢出,所以将参数再调大了一些: (参考博客:https://www.jianshu.com/p/d23e7197d3fa

   export CATALINA_OPTS="-Xms1536m -Xmx2048m -Xss1024k -XX:PermSize=615m -XX:MaxPermSize=768m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC"

5.saiku启动报错,在saiku-server/tomcat/conf/catalina.properties文件:
  tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\ bcprov*.jar

6.在tomcat中指定jdk版本 saiku-server/tomcat/bin/setclasspath.sh  (因为我在部署的时候发现服务器上默认的jdk版本为1.7,启动saiku时就抛异常了.. 所以需要指定使用jdk1.8 与我编译saiku时的jdk版本保持一致!)
  export JAVA_HOME=/app/lib/jdk1.8.0_92
  export JRE_HOME=$JAVA_HOME/jre

7.启动saiku,执行 saiku-server下的 start-saiku.sh 脚本

8.访问saiku,以admin用户登录 然后更改DataSource 数据库连接 (如果数据库中的完全一致 可以直接切换使用)

至此,Saiku上线部署就结束了,接下来就是进一步研究啦啦啦啦~  之前做好的一些都可以正常使用啦啦啦啦 开开心心~

==================二次更新 因为数据库密码以及服务器密码的变更=============20190612===============================

在安装好的saiku下 更改配置信息的数据库连接密码信息:(其中 /app/Saiku 是我安装saiku的路径)
配置文件地址: 
/app/Saiku/saiku-server/tomcat/webapps/saiku/WEB-INF/
web.xml
saiku-beans.properties
applicationContext-spring-security-jdbc.properties
 
重啟腳本: 
/app/Saiku/saiku-server/tomcat/bin/
shutdown.sh 
startup.sh 
 
更改cube相关信息的数据源连接
在saiku控制台更新连接密码,然后保存,刷新即可。

==================二次更新 因为数据库密码以及服务器密码的变更=============20190612===============================

Saiku上线部署准备(三十)的更多相关文章

  1. 【Android Studio安装部署系列】三十六、Android studio3.2使用过程中注意事项

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio升级到3.2之后,运行旧项目的时候出现了各种情况,特此记录下. 一.打包选项多了,一般情况下选择APK即 ...

  2. 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)

    第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...

  3. Walle - 瓦力上线部署系统搭建攻略

    背景知识:Walle - 瓦力是一个支持svn.git.多用户.多项目.多环境同时部署的上线部署系统,http://www.oschina.net/news/68610/walle-0-9-2 实验系 ...

  4. 开源力量公开课第三十期- 跟我一起玩转OpenStack

    开源力量公开课第三十期- 跟我一起玩转OpenStack 开课时间:2013年9月10日 18:30 - 21:30 形式:现场(北京3W咖啡) + 线上直播,   免费报名:http://www.o ...

  5. spring boot 常见三十四问

    Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...

  6. 精选Spring Boot三十五道必知必会知识点

    Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家.本文精选了三十五个常见的Spring Boot知识点,祝你一臂之力! 问题一 Spr ...

  7. 【FastDev4Android框架开发】打造QQ6.X最新版本号側滑界面效果(三十八)

    转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50253925 本文出自:[江清清的博客] (一).前言: [好消息] ...

  8. 使用Kubeadm创建k8s集群之节点部署(三十一)

    前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不 ...

  9. SpringBoot:三十五道SpringBoot面试题及答案

    SpringBoot面试前言今天博主将为大家分享三十五道SpringBoot面试题及答案,不喜勿喷,如有异议欢迎讨论! Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一 ...

随机推荐

  1. Nginx:反向代理

    与众不同的生活方式很累人呢,因为找不到借口     在上一章节中,我们以及了解到正向.反向代理.负载均衡和动静分离的基本概念,安装教程,而在本节中将会了解到在 本文要点: 1.理清概念 2.Linux ...

  2. 记录python上传文件的坑(2)

    描述: 1.之前在写项目mock代码时,碰到一个上传文件的接口,但项目接口本身有token保护机制,碰到token失效时,需要重新获取一次token后,再次对上传文件发起请求,在实际调用中发现,第一次 ...

  3. 10. 函数-lambda函数及高阶函数

    一.匿名函数解析 ​ 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数.匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. ​ 用匿名函数有 ...

  4. 十二、ITK例程-医疗图像配准的HelloWorld程序

    一.说明 医疗图像配准是ITK的一个重要内容,而我们今天想要说的一个程序则相当于是其中的HelloWorld程序. 程序源码位置: InsightToolkit-\Examples\Registrat ...

  5. Java之IO初识(字节流和字符流)

    IO概述 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了 ctrl+s ,可能文件就白白编辑了.当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里.那么数据都是在哪些设备上的呢 ...

  6. Python实现一个键对应多个值的字典(multidict)

    一个字典就是一个键对应一个单值的映射.如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面.比如,你可以像下面这样构造这样的字典: d = { 'a' : [1, ...

  7. Winform巧用窗体设计完成弹窗数值绑定-以重命名弹窗为例

    场景 在WIinform中有一种场景就是对文件进行重命名时需要获取原来的名字并填充窗体中的输入框, 然后在点击保存时还要能获取弹窗中输入框的内容. 比如点击重命名时弹窗 点击确认时获取输入框内容. 注 ...

  8. git操作教程

    首先就是创建码云(用户名不能是中文),然后新建一个项目(用户名/项目名都不能是中文). 一.在Windows上安装Git 1.从http://msysgit.github.io下载,然后按默认选项安装 ...

  9. tcprstat和tcpstat性能监控

    tcprstat分析服务的响应速度利器   tcprstat是percona用来监测mysql响应时间的.不过对于任何运行在TCP协议上的响应时间,都可以用. 下面是一个监控示例,监控分析mysql的 ...

  10. 持续集成与Devops关系

    什么是持续集成 持续集成(Continuous Integration,简称CI),是一种软件开发实践,在实践中指只要代码有变更,就自动运行构建和测试,反馈运行结果.通俗一点来讲,就是绑定项目的代码仓 ...