1.概述
1.1应用场景
需要更新补丁之前先更新到测试BI上面测试主要功能是否正常,没有问题再更新正式服务,以免影响正式服务的使用。BI双开是指在原来的基础上增加一个新的BI启动窗口,跟原来的BI能同时使用且不冲突。BI默认安装的地址是localhost:8080,双开后生成新的端口链接localhost:8088(端口根据具体使用场景设定)。
1.2双开流程图
2.备份
在双开BI之前,需要先备份支撑库及Cross_SBI、Cross_SBI_API、Cross_SBI_Task这三个文件夹,文件备份很重要,在双开过程中,如遇到不可修复的错误可以使用备份文件还原。
2.1支撑库备份
①支撑库为SQLite类型
在安装根目录下的Cross_SBI_API文件夹下另存备份这三个sqlite文件。
②支撑库为MYSQL/MSSQL 类型
备份支撑库数据库
同理备份文件夹
3.复制文件
3.1windows环境
复制三个Cross文件:Cross_SBI、Cross_SBI_API、Cross_Task,将这三个文件复制到新建的双开文件夹中,文件夹名称建议为全英文,例如ourwaybinew等等。(复制之前先将日志文件清理干净,这样能节省占用控空间,清理日志文件请参考在线帮助文档:清理日志。)
3.2Linux环境
linux下用命令复制文件非常快,node_modules模块也可复制无需重新安装第三方模块
mkdir 双开bi文件夹路径
cp -rf 正式bi路径/* 双开bi路径
举例:
例如正式bi路径为/root/Cross_9090,双开bi路径为/root/Cross_9090Copy
mkdir /root/Cross_9090Copy
cp -rf /root/Cross_9090/* /root/Cross_9090Copy
常用命令:
创建文件夹:mkdir 路径
递归删除文件夹:rm –rf 目录路径
跳转到指定路径:cd 路径
跳转到上级路径:cd ..
查看当前路径:pwd
查看当前路径文件列表:ls
编辑文本:vim 文本路径
4.修改双开环境的端口
4.1修改端口1
在双开ourwaybinew文件夹分别进入到Cross_SBICross_SBI_APICross_Task中的config.js里修改端口,端口修改建议在原来端口的基础上加1或者减1就可以了。
参考文档的内容修改端口
4.2修改端口2
参考config里的内容,标有//原‘端口’的都要修改(redisPort默认就好,不修改),修改的端口,三个Cross文件里的config里的端口要保持一致。(PS:Task的config多了一句 video_Port: 8085——下图有标注,这段代码意思是视频端口,跟富文本框这种能导入视频控件有关,双开BI的config代码一定要有)
Cross_SBI需要修改的端口:prot:8080、apiport: process.env.APIPORT ||3030、api_Port:3366、task_Port:3377、redisPort:6379(添加)
Cross_SBI_API需要修改的端口:prot:8080、apiport: process.env.PORT ||3377、api_Port:3366、task_Port:3377、redisPort:6379
Cross_Task需要修改的端口:prot:8080、apiport: process.env.PORT ||3377、api_Port:3366、task_Port:3377、redisPort:6379
以Cross_SBI_API为例:
双开环境中Cross_Task需要添加的代码
5.修改redisPort端口
5.1Windows环境
修改双开文件ourwaybinew中的Cross_SBI_API、Cross_Task文件夹中config配置文件中的reredisPort端口。
如图所示:
将这段修改端口之后的代码,复制到Cross_SBI的config中。
复制redis实例(redis文件时在安装BI时自定义选择的路径,一般在C:Program FilesRedis)
在复制的redis.windows6383.conf中修改redis端口
启动修改端口之后的redis实例
5.2Linux环境
第1、2步操作和Windows环境操作一样,需要修改或添加reredisPort端口。
复制redis实例(位置是在安装BI的根目录下)
修改redis6383的端口,只需修改port后面的就可以了。修改之后输入wq保存。
执行复制路径下的redis实例即可
6.修改应用名称
在双开文件ourwaybinew中的Cross_SBI、Cross_SBI_API、Cross_Task文件夹分别找到processes.json;
对里面的应用名称进行修改,目的是要跟原来正式环境的应用名称进行区分,如图:Cross_SBI_test。(_test是后缀,后缀可以自定义,但一定要和正式环境的应用名称进行区分,修改完成后启动的双开的服务名即为此修改的名称Cross_SBI_test)
7.复制支撑库并修改配置文件
7.1V8.1之前的版本
需要修改双开路径下的Cross_SBI_API、Cross_Task文件夹中config.js配置文件中db节点,指向备份之后用作双开环境的支撑库,如图所示
7.2 V8.1之后的版本
需要在双开环境重新修改备份之后用作双开环境的支撑库
8.复制启动文件
(Linux系统此步骤跳过)
复制如图中的启动文件,到Cross同级目录下
修改启动BI之后跳转的端口,右击编辑restart.bat,与第三步修改端口的port端口一致
9.安装node_modules
上面操作完成后,如果双开的BI版本和正式环境的BI版本不一致,则需要删掉ourwaybinew中的三个Cross文件里的‘node_modules’文件夹,重新安装。如双开环境的BI版本和正式环境的BI一致,则忽略该步骤。
在三个目录下按住shift键右击打开命令窗口执行:cnpm I (或者npm i),执行安装node_modules
双击restart.bat启动双开BI(注:关掉杀毒软件,如360等)
10.验证是否双开成功
如果启动名称有双开环境修改之后的Cross_SBI_testCross_SBI_API_tsetCross_Task_test Cross_SBI _tset_Session应用名称,且都为绿色,则成功;
如图只有原来4项,则配置不成功
11.注意事项
双开文件夹下的三个Cross文件不要加后缀,不要加后缀虽然不会影响正常启动,但是会出现前端的ETL无法加载数据类型和无法检查版本号。
下面是文件夹下面三个Cross带有后缀启动后出现的情况:
如果启动双开BI之后,登录一直在加载。原因可能是复制的redis实例没有启动,参考第四步描述启动redis实例,重启双开BI就可以了。