作为敏捷BI平台,你可以通过平台完成复杂的数据分析、展现服务而无需投入较大的学习成本和较长时间的实施成本。听着是不是很心动?如何能够构建BIPlatform的开发环境是不是还是一头雾水?接下来将一步步的讲解如何构建和使用BIPlatform。
安装BIPlatform:
BIPlatfrom是纯粹的基于Maven的Java项目,因此安装BiPlatform之前,需要前置条件为:
- 安装Maven 3.0.5 或者以上
- 安装jdk1.8或以上
- 安装redis 2.8.6集群环境(可选)
- 安装ActiveMQ环境(可选)
单节点生产环境搭建流程:
1. 下载最新代码:访问GitHub下载master分之最新代码,项目地址:https://github.com/Baidu-ecom/bi-platform (假设下载地址为/home/user/git/bi-platform)
/home/user/git/bi-platform 下执行mvn install命令,将各个模块打包,在target模具将产生:designer.xxx.jar, fileserver.xxx.jar, tesseract.xxx.jar等
3.将生成的三个文件拷贝到你要安装的目标机器制定目录,如/home/user/biplatform/
4. 完成配置:
4.1 :配置文件服务器:文件服务器的主要用来存储通过逻辑模型构建的报表模型,因此,对于文件服务器的配置非常简单:
拷贝/home/user/git/bi-platform/fileserver/resources/filerver.conf.tmp到你的安装目录/home/user/biplatform下,用记事本打开配置文件,修改配置如下:
biplatform.fileserver.rootdir=/home/user/biplatform/report ---指定报表模型存储的根路径(绝对地址)
biplatform.fileserver.port=9060 ---- 文件服务器的端口
4.2 : 配置designer:designer作为平台的入口,完成数据的逻辑建模、业务建模以及数据分析产品的设计、分析与展示工作。配置相对复杂:
/home/user/biplatform 下打开:
server.port=8090 ---- designer 端口配置,默认可以省略
#****************************************************************************************************************
# 数据源存储相对路径 必须
#****************************************************************************************************************
biplatform.ma.ds.location=ds
#****************************************************************************************************************
# 报表存储相对路径 必须
#****************************************************************************************************************
biplatform.ma.report.location=report
#****************************************************************************************************************
#单次读取文件块大小 非必需
#****************************************************************************************************************
#biplatform.ma.file.read.maxsize=1024
#****************************************************************************************************************
#文件服务器的地址以及端口配置,可以配置多个,已逗号分割
#****************************************************************************************************************
biplatform.ma.fileserver.inetaddress=127.0.0.1:9090
#****************************************************************************************************************
#文件加密因子,可省略
#****************************************************************************************************************
biplatform.ma.ser_key=0000000000000000
################################################################################################
# 用户注册产品线,通知用户使用的邮箱地址,可单独配置,也可与管理员邮箱地址相同
################################################################################################
biplatform.ma.auth.register.mail.senderMail=zhangsan@sina.com
################################################################################################
# 管理员邮箱地址
################################################################################################
biplatform.ma.auth.register.mail.administrator=zhangsan@sina.com
################################################################################################
#subject 注册产品线发送邮件主题
################################################################################################
biplatform.ma.auth.register.mail.subjectForRegister=主题
################################################################################################
#subject 开通产品线邮件主题
################################################################################################
biplatform.ma.auth.register.mail.subjectForOpenService=主题
################################################################################################
# 邮件服务器地址
################################################################################################
biplatform.ma.auth.register.mail.mailServerHost=smtp.sina.com.cn
################################################################################################
# 发送邮件邮箱密码
################################################################################################
biplatform.ma.auth.register.mail.sender.password=
################################################################################################
# redis配置,可省略
################################################################################################
config.redis.usePool=true
config.redis.password=biplatform
#spring.redis.port=
config.redis.poolConfig.max-idle=8
config.redis.poolConfig.min-idle=0
config.redis.poolConfig.max-active=8
config.redis.poolConfig.max-wait=-1
################################################################################################
#default use redis
################################################################################################
config.redis.active=true
################################################################################################
#mark if this instance is dev
################################################################################################
#config.redis.dev=true
################################################################################################
#redis conifg proeprties
################################################################################################
config.redis.poolConfig.testOnReturn=true
config.redis.poolConfig.testWhileIdle=true
config.redis.poolConfig.testOnBorrow=true
config.redis.poolConfig.testOnCreate=true
config.redis.poolConfig.timeOut=1000
config.redis.topicName=silkroad_topic
config.redis.eventQueueName=silkroad_event_queue
config.redis.lockName=silkroad_lock
################################################################################################
# 默认缓存配置,可不做调整
################################################################################################
config.redis.sentinel.master=biplatform_master
config.redis.sentinel.nodes=localhost:8379
#hazelcast cluster config info
hazelcastServer.groupUserName=silkroad-group
hazelcastServer.groupPassword=silkroad
#hazelcastServer.mancenter.url=
hazelcastServer.mancenter.enable=false
hazelcastServer.members=127.0.0.1
hazelcastServer.portAutoIncrement=false
hazelcastServer.instanceName=silkroad-cluster
server.port=8090 ---- designer 端口配置,默认可以省略
#****************************************************************************************************************
# 数据源存储相对路径 必须
#****************************************************************************************************************
biplatform.ma.ds.location=ds
#****************************************************************************************************************
# 报表存储相对路径 必须
#****************************************************************************************************************
biplatform.ma.report.location=report
#****************************************************************************************************************
#单次读取文件块大小 非必需
#****************************************************************************************************************
#biplatform.ma.file.read.maxsize=1024
#****************************************************************************************************************
#文件服务器的地址以及端口配置,可以配置多个,已逗号分割
#****************************************************************************************************************
biplatform.ma.fileserver.inetaddress=127.0.0.1:9090
#****************************************************************************************************************
#文件加密因子,可省略
#****************************************************************************************************************
biplatform.ma.ser_key=0000000000000000
################################################################################################
# 用户注册产品线,通知用户使用的邮箱地址,可单独配置,也可与管理员邮箱地址相同
################################################################################################
biplatform.ma.auth.register.mail.senderMail=zhangsan@sina.com
################################################################################################
# 管理员邮箱地址
################################################################################################
biplatform.ma.auth.register.mail.administrator=zhangsan@sina.com
################################################################################################
#subject 注册产品线发送邮件主题
################################################################################################
biplatform.ma.auth.register.mail.subjectForRegister=主题
################################################################################################
#subject 开通产品线邮件主题
################################################################################################
biplatform.ma.auth.register.mail.subjectForOpenService=主题
################################################################################################
# 邮件服务器地址
################################################################################################
biplatform.ma.auth.register.mail.mailServerHost=smtp.sina.com.cn
################################################################################################
# 发送邮件邮箱密码
################################################################################################
biplatform.ma.auth.register.mail.sender.password=
################################################################################################
# redis配置,可省略
################################################################################################
config.redis.usePool=true
config.redis.password=biplatform
#spring.redis.port=
config.redis.poolConfig.max-idle=8
config.redis.poolConfig.min-idle=0
config.redis.poolConfig.max-active=8
config.redis.poolConfig.max-wait=-1
################################################################################################
#default use redis
################################################################################################
config.redis.active=true
################################################################################################
#mark if this instance is dev
################################################################################################
#config.redis.dev=true
################################################################################################
#redis conifg proeprties
################################################################################################
config.redis.poolConfig.testOnReturn=true
config.redis.poolConfig.testWhileIdle=true
config.redis.poolConfig.testOnBorrow=true
config.redis.poolConfig.testOnCreate=true
config.redis.poolConfig.timeOut=1000
config.redis.topicName=silkroad_topic
config.redis.eventQueueName=silkroad_event_queue
config.redis.lockName=silkroad_lock
################################################################################################
# 默认缓存配置,可不做调整
################################################################################################
config.redis.sentinel.master=biplatform_master
config.redis.sentinel.nodes=localhost:8379
#hazelcast cluster config info
hazelcastServer.groupUserName=silkroad-group
hazelcastServer.groupPassword=silkroad
#hazelcastServer.mancenter.url=
hazelcastServer.mancenter.enable=false
hazelcastServer.members=127.0.0.1
hazelcastServer.portAutoIncrement=false
hazelcastServer.instanceName=silkroad-cluster
4.3 tesseract配置:tesseract作为整个平台的查询、计算引擎,完成数据的查询、计算任务,具体配置如下:
拷贝tesseract下的tesseract.properties到biplatform的安装目录下,修改如下条目(其他未提及可采用默认配置):
#修改索引文件的存储路径
node.dataBaseDir=/home/user/biplatform/tesseract_data_0
# 如使用redis,完成如下配置
# REDIS (RedisProperties)
#spring.redis.host= # server host
config.redis.usePool=true
config.redis.password=passwd
#spring.redis.port=
config.redis.poolConfig.max-idle=8
config.redis.poolConfig.min-idle=0
config.redis.poolConfig.max-active=8
config.redis.poolConfig.max-wait=-1
#default use redis
config.redis.active=true
#mark if this instance is dev
config.redis.dev=true
#config topic ,queue , lock name
config.redis.topicName=tesseract_topic
config.redis.eventQueueName=tesseract_event_queue
config.redis.lockName=tesseract_lock
config.redis.poolConfig.testOnReturn=true
config.redis.poolConfig.testWhileIdle=true
config.redis.poolConfig.testOnBorrow=true
config.redis.poolConfig.testOnCreate=true
#config cluster pre
config.redis.clusterPre=test
#config default cache exprie time, unit second, -1 never expire
config.redis.defaultExpire=-1
#config cache expire time, format config.redis.cacheExpire.(cachename)=(expire seconds)
config.redis.cacheExpire.biplatform=1800
config.redis.sentinel.master=biplatform_master
config.redis.sentinel.nodes=ip:port
#如使用默认缓存,可以忽略如下配置
#hazelcast cluster config info
hazelcastServer.groupUserName=group
hazelcastServer.groupPassword=passwd
#hazelcastServer.mancenter.url=
hazelcastServer.mancenter.enable=false
hazelcastServer.members=127.0.0.1
hazelcastServer.portAutoIncrement=false
hazelcastServer.instanceName=tesseract-cluster
4.4 配置ac:ac作为元数据服务接口,提供元数据的检索服务,配置如下:
拷贝model/resources下的ac.properties到biplatform的安装目录:
################################################################################################
#tesseract server address,可多个,这里需要与上述tesseract的配置对应
################################################################################################
server.tesseract.address=http://[127.0.0.1:8080 127.0.0.1:9191]/
################################################################################################
#tesseract server address,可多个,这里需要与上述tesseract的配置对应
################################################################################################
server.tesseract.address=http://[127.0.0.1:8080 127.0.0.1:9191]/
5. 分别启动fileserver,designer,以及tesseract:
5.1 启动fileserver: java -jar fileserver.xxxx.jar /home/user/biplatform/fileserver.conf.tmp (上一步修改的fileserver的配置文件绝对路径)
5.2 启动designer:java -jar designer.xxx.jar -Dserver.port=xxx(designer的端口) -Dac.config.location=上一步配置的ac.properties的就对路径
5.3 启动tesseract:java -jar tesseract.xxx.jar -Xmx4096m -Xms4096m -Dserver.port=xxxx(tesseract的端口) -Dac.config.location=上一步配置的ac.properties的就对路径
5.1 启动fileserver: java -jar fileserver.xxxx.jar /home/user/biplatform/fileserver.conf.tmp (上一步修改的fileserver的配置文件绝对路径)
5.2 启动designer:java -jar designer.xxx.jar -Dserver.port=xxx(designer的端口) -Dac.config.location=上一步配置的ac.properties的就对路径
5.3 启动tesseract:java -jar tesseract.xxx.jar -Xmx4096m -Xms4096m -Dserver.port=xxxx(tesseract的端口) -Dac.config.location=上一步配置的ac.properties的就对路径
如各应用成功启动,那么你就可以通过浏览器使用biplatform了:http://server:designer_port/silkroad/home.html
接下来将一下如何构建biplatform的开发环境(推荐IDE eclipse):
打开eclipse:依次选择:文件--》导入 --》选择从git导入--》选择clone远端地址--》完成即可。导入完成之后,将项目改为maven项目,就完成biplatfomr的开发环境构建。
之后按照上述步骤进行相关配置修改,即可通过IDE开发,调试BiPlatform。
导入流程如下图:
PS:下一篇博文将会讲述如何使用biplatform,敬请关注。