1. 系统环境要求
操作系统 | Linux内核3.10以上 |
---|---|
CPU | 16核 |
内存 | 32G及以上 |
磁盘 | 1500G |
建议磁盘分区:
磁盘分区 | 磁盘空间 | 备注 |
/var/lib/docker | 300G | Docker容器部署 |
/data | 1000G | Smartbi部署 |
安装权限要求:
具有 sudo权限的用户或root用户,推荐使用root用户安装;
安装时用root用户运行或使用具有 sudo权限的用户运行脚本。
安装包目录结构说明:
目录文件名 | 说明 |
Smartbi.tar.gz | Smartbi高性能版本安装包 |
Tools | 附带的一些工具 |
由于K8S的规定,主机名只支持包含-和.(中横线和点)两种特殊字符,其他字符不支持,并且主机名不能重复。
每台主机要在/etc/hosts中增加主机名和ip的映射关系。
2. 防火墙配置
为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用Smartbi使用到的相关端口。
2.1 关闭防火墙
临时关闭防火墙
# systemctl stop firewalld
永久关闭防火墙
# systemctl disable firewalld
查看防火墙状态
# systemctl status firewalld
2.2 开启防火墙
相关服务及端口对照表
服务名 | 对内端口 | 对外端口 |
smartbi-tomcat | 18080 | 31080 |
smartbi-mysql | 3306 | 30306 |
smartbi-mpp | 8123,9000 | 31823 |
smartbi-infobright | 5029 | 30029 |
smartbi-unionserver | 48080 | 30808 |
smartbi-engine | 4040,8899,8900 | 31003 |
smartbi-spark | 7077,4040,8080 | 31002 |
smartbi-python | 22 |
如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启rancher控制台端口:8088,8443
# firewall-cmd --permanent --add-port=8088/tcp
# firewall-cmd --permanent --add-port=8443/tcp
开启smartbi-tomcat的访问端口:31080
# firewall-cmd --permanent --add-port=31080/tcp
开启smartbi-mysql端口:30306
# firewall-cmd --permanent --add-port=30306/tcp
开启smartbi-unionserver的端口:30808
# firewall-cmd --permanent --add-port=30808/tcp
开启smartbi-mpp的端口:
# firewall-cmd --permanent --add-port=31823/tcp
开启smartbi-infobright的端口
# firewall-cmd --permanent --add-port=30029/tcp
开启的smartbi-engine-experiment端口
#firewall-cmd--permanent--add-port=31003/tcp
开启smartbi-spark的端口
开启 smartbi-spark-master的端口
#firewall-cmd--permanent--add-port=31002/tcp
配置完以后重新加载firewalld,使配置生效
# firewall-cmd --reload
查看防火墙的配置信息
# firewall-cmd --list-all
3、关闭selinux
临时关闭selinux,立即生效,不需要重启服务器。
# setenforce 0
永久关闭selinux,修改完配置后需要重启服务器才能生效。
# vi /etc/selinux/config
修改enable 为disabled,并保存该文件。
4、ipv4转发配置
centos系统下使用root账号在命令行执行
# echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf && service network restart
二、Smartbi安装
1. 登录Linux系统
我们使用putty工具来连接Linux系统。
如下图,依次填入主机名/ip,端口,选择SSH协议,然后点击 Open。
第一次登录会有安全警告,点击 是。
按要求输入账号密码。此处账号会显示,密码不会显示,输完密码直接回车就好。
此账号必须要root或具有root权限。
如下图所示,表示已经成功登录Linux系统。
2. 上传安装包
使用WinSCP上传安装包到Linux系统。
如下图,在WinSCP目录下,双击WinSCP.exe启动WinSCP工具。
如下图,输入主机名,用户名,密码,然后点击 登录。
第一次连接,会有警告提示,点击 是 就可以登录了。
如下图所示,左边框是指本地目录,右边框是远程的Linux服务器目录;可以根据需要自己选择需要上传的目录,这里选择上传到/home目录下。
选中本地目录的Smartbi_All.tar.gz,右键上传,开始上传安装包。
点击确定开始上传。
下图是文件上传信息。
3. 安装docker
3.1 Cent OS7系统
CentOS7的系统,可以参考以下说明安装docker;
进入刚刚上传 Smartbi_All.tar.gz文件的目录。
# cd < Smartbi_All.tar.gz目录>
解压缩。
# tar -zxvf Smartbi_All.tar.gz
解压完成后,进入Smartbi 目录;
# cd Smartbi_All
给install_docker.sh赋予可执行权限;
# chmod +x install_docker.sh
开始安装docker。
# ./install_docker.sh
验证docker是否安装成功
# docker version
3.2 其他版本的Linux系统
其他版本Linux的操作系统,可以参考如下链接选择对应版本安装docker。
4. 安装rancher
rancher是管理smartbi容器的一个图形化界面工具,可以通过浏览器来查看管理Smarbti的各个容器。
进入Smartbi_All目录
# cd Smartbi_All
给install.sh赋予可执行权限。
# chmod +x install.sh
开始安装。
# ./install.sh 服务器ip
如需将安装信息记录到文本文件,请使用以下命令安装:
# ./install.sh 服务器ip | tee -a install_messg.log
等待安装完成,整个过程预计会超过10分钟。 安装完成。
三、配置服务
1. 访问管理控制台
1.1 首次访问管理控制台
使用谷歌浏览器打开 http://服务器ip:8088
由于使用了https协议,所以会自动跳转到https://服务器ip:8443的地址,如下图所示,点击 高级 。
如下图所示,第一次登陆时默认是英文页面,在这里输入管理员账号admin的密码,密码输入两次,并且要保持一致;
输完密码后点击continue按钮;
如下图所示,设置ServerURL,这里默认就可以了。
此URL是安装配置k8s集群时需要用到的默认参数,请根据实际情况修改。
Tips:如果有多个网卡,或者通过代理访问此服务器,则ip地址应修改为内网实际地址,端口保持默认的8443。
点击 Save URL;
登陆进入rancher首页,可以在右下角选择语言为 简体中文。
1.2 再次访问管理控制台
首次访问管理控制台时,做完相关设置后,以后访问控制台时,只需输入用户密码登录即可使用。
2. 禁用商店
在离线环境下,不禁用商店,可能会导致线程数超标。
如下图所示,点击:全局 > 商店设置 > 官方认证,点击 禁用。
3. 添加集群
此处集群是指安装k8s服务,用来管理smartbi容器的。
选择添加主机自建Kubernetes集群,给集群起个名字,这里选择填写smartbi。
集群名称可以自己填写,但是不能使用中文。
选择需要部署的k8s版本,这里选择v1.13.5-rancher1-3版本;
修改完成,单击 下一步 ,进入“自定义主机运行命令”
主机角色里,etcd,control,worker都勾选上,内网地址填上Linux服务器实际地址,这里是10.10.204.248 。公网IP地址不填。
然后点击下图的“复制到剪贴板”,根据要求复制到刚才安装部署的Linux服务器上执行这个命令;
在linux服务器上执行刚刚复制到剪贴板的命令;
此命令行必须在Linux服务器上手工执行。
命令执行完以后,浏览器页面上会提示一台新主机注册成功,此时可以点击 完成 按钮,开始安装k8s集群。
在新的页面等待k8s部署,状态是红色的,说明部署还未成功,请耐心等待。此过程一般不会超过10分钟。
如下图,状态是绿色的Active,说明集群部署成功。
4. 配置部署服务
4.1 下载服务的配置文件
使用WinSCP工具下载<Smartbi>/deployment_yaml目录;
如下图,选择deployment_yaml,右键下载;
4.2 部署基础服务
4.2.1 部署Mysql数据库
点击左上角全局图标,选择 Default;
点击 导入YAML;
选择 从文件读取;
选择刚刚下载的deployment_yaml文件夹里的Smartbi-Mysql.yaml,点击打开;
点击 导入;
等待状态栏的图标变成绿色的Active,说明smartbi-mysql部署成功。
由于smartbi-tomcat的服务都要用到smartbi-mysql,所以必须要先启动smartbi-mysql的容器服务。
4.2.2 部署应用服务器
参考 mysql部署章节,使用同样的方法导入Smartbi-Tomcat.yaml,等待状态图标变成绿色的,说明smartbi-tomcat容器导入成功。
单击smartbi-tomcat,进入Tomcat
可以点击查看日志,查看smartbi-tomcat容器的运行状态;
如下图,说明smartbi已经成功部署。
测试应用服务器;
可以通过http://服务器ip:31080/smartbi/vision/index.jsp,访问smartbi;
第一次启动可能需要导入license,可以参考
https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=35750012
第一次登录使用Smartbi:默认管理员帐号:admin,默认密码:manager。
4.2.3 部署SmartbiMpp
参考 msyql部署章节,使用同样的方法导入Smartbi-MPP.yaml,等待状态图标变成绿色的,说明smartbi-mpp服务创建成功。
测试Smartbi-MPP
1)登陆smartbi,选择 数据连接 > 高速缓存库 > 打开 > 选择驱动程序类型:SmartbiMpp,点击 测试连接。如下图提示连接成功,保存。
切换高速缓存库驱动程序类型,需要重启smartbi服务,使其生效。
2)通过抽取数据测试Smartbi-MPP是否正常使用。
打开 分析展现 > 功能演示 > 即席查询 > 演示局部过滤器 > 抽取, 进行数据抽取测试:
3)查看抽取的数据:
Smartbi-MPP部署成功。
4.2.4 部署跨库联合数据源
部署Smartbi-Unionserver跨库联合查询
参考 mysql部署知识库 ,使用同样的方法导入Smartbi-UnionServer.yaml,等待状态图标变成绿色的,说明smartbi-unionserver服务创建成功。
测试smartbi-unionserver功能
1)打开 数据连接 > 跨库联合查询数据源 > 数据库管理。
2)选择 需要跨库联合查询的数据库 > 保存。
3)打开 数据准备 > 数据集 > 新建自助数据集。
4)选择需要查询的数据库的表,和高速缓存库中的表进行关联。
5)点击 刷新,查看跨库联合查询的数据。有数据显示,则表示跨库联合查询成功。
4.3 数据挖掘镜像部署
4.3.1 导入数据挖掘的镜像
使用putty工具,登陆Linux操作系统。具体步骤可以参考文档中 登陆Linux系统 章节。
进入安装目录
# cd <Smartbi>/smartbi_images
导入数据挖掘的镜像
# ./load_mining_image.sh
镜像导入完成后,需要通过WinSCP下载<Smartbi>/deployment_yaml的所有yaml的文件。如果没发现新增的yaml文件,需要右键刷新一下。
4.3.2 部署smartbi-spark服务
参考 mysql部署知识库 章节说明的方法导入Smartbi-Spark-Master.yaml,等待状态图标变成绿色的,说明Smartbi-Spark-Master节点创建成功。
Spark是数据挖掘的计算节点。有master主节点和work工作节点。
Work节点可以根据实际的服务器情况,配置多个节点。
参考 mysql部署知识库 说明的方法导入Smartbi-Spark-Worker1.yaml,等待状态图标变成绿色的,说明Smartbi-Spark-Worker1节点创建成功 。
登录smartbi查看smartbi spark配置
Smartbi-spark需要配合数据挖掘服务测试。具体可看数据挖掘测试结果。
4.3.3 部署smartbi-Engine服务
Smartbi-Engine是数据挖掘引擎。包含了数据挖掘实验(Smartbi-Engine-experiment)和数据挖掘服务(Smartbi-Engine-service)两部分。
部署Smartbi-Engine-Experiment服务
参考 mysql部署知识库 章节说明的方法导入Smartbi-Engine-Experiment.yaml,等待状态图标变成绿色的,说明Smartbi-Engine-Experiment节点创建成功。
测试Smartbi-Engine-Experiment服务
1)打开 数据挖掘 > 案例 选择一个案例打开。
2)保存数据挖掘实验,运行数据挖掘,运行成功即数据挖掘实验部署成功。
部署Smartbi-Engine-service
参考 mysql部署知识库 章节说明的方法导入Smartbi-Engine-Service.yaml,等待状态图标变成绿色的,说明Smartbi-Engine-Service节点创建成功。
测试Smartbi-Engine-Service服务
1)打开 数据挖掘 > 案例 > 窃漏电预测。
2)保存示例,点击运行,等待运行成功。
3)右键点击训练,选择 模型 > 保存模型。
4)保存的的模型可以在左侧导航栏的“已训练模型”中查看。右键删除“随机森林”,“训练”。
5)将保存的示例模型拖入,并与”预测连线”
6)拖入导航栏中服务下的服务输入、服务输出,并连线,运行成功后点击部署服务。
7)服务部署成功后选择服务测试,显示测试结果。
Smartbi-Engine-Service部署测试成功。
4.3.4 部署smartbi-pynode
Smartbi-Pynode是数据挖掘的python扩展。可以通过写python程序,对smrtbi的数据挖掘服务进行功能扩展。如果不需要,可以选择不安装。
部署Smartbi-mining-pynode
参考 mysql部署知识库 章节说明的方法导入Smartbi-Mining-Pynode.yaml,等待状态图标变成绿色的,说明Smartbi-Mining-Pynode节点创建成功。
测试Smartbi-mining-pynode
1)打开 数据挖掘 > 新建实验。
2)拖拽“示例数据源”,选择 数据源 > 保存 > 运行,运行成功。
3)拖拽PYTHON脚本,与示例数据源连线,点击Python脚本。
4)点击确定。
5)点击运行,提示运行成功,则Smartbi-mining-pynode部署成功。
4.4 部署Infobright
使用putty工具,登陆Linux操作系统。具体步骤可以参考文档中 登陆Linux系统 章节。
进入安装目录;
# cd <Smartbi>/smartbi_images
导入smartbi-infobright的镜像;
# ./load_infobright_image.sh
镜像导入完成后,需要通过WinSCP下载;<Smartbi>/deployment_yaml/Smartbi-Infobright.yaml的文件。如果没发现Smartbi-Infobright.yaml,需要右键刷新一下。
下载完成后,可以参考 知识库 章节说明的方法导入Smartbi-Infobright.yaml,等待状态图标变成绿色的,说明smartbi-infobright容器创建成功。
测试Smartbi-Infobright连接
1)选择 数据连接 > 高速缓存 > 驱动程序类型:Infobright ,然后点击 测试连接,测试通过,保存。
切换高速缓存库驱动类型,需要重启Smartbi服务使其生效。
2)抽取数据测试高速缓存是否成功。
打开 分析展现 > 功能演示 > 即席查询 > 演示条件参数 > 抽取, 进行数据抽取测试:
查看抽取的数据:
Smartbi-Infobright部署成功。
4.5 部署Smartbi Export
部署Smartbi-export导出引擎
使用putty工具,登陆Linux操作系统。具体步骤可以参考文档中 登陆Linux系统 章节。
进入安装目录
# cd <Smartbi>/smartbi_images
导入smartbi_export的镜像
# ./load_export_image.sh
镜像导入完成后,需要通过WinSCP下载<Smartbi>/deployment_yaml/Smartbi-Export.yaml的文件。如果没发现Smartbi-Export.yaml,需要右键刷新一下。
下载完成后,可以参考 MySQL部署章节 说明的方法导入Smartbi-Export.yaml,等待状态图标变成绿色的,说明Smartbi-Export容器创建成功。
测试smartbi-export导出引擎连接
1)登陆smartbi,选择 系统运维 > 系统选项 > 公共设置 > 服务器地址。
2)导出示例数据:
打开 分析展现 > 分析报表 > 功能演示 > 自助仪表盘 > 订单管理,点击展开菜单,选择导出格式(PNG,PDF,Execl),导出。
等待导出,弹出下载页面,下载即可。(文档此处选择导出PNG图片,可根据需要选择导出格式)。
查看导出的图片。
Smartbi-Export导出引擎部署成功。
4.6 部署Redis
可以参考 mysql部署章节 说明的方法导入Smartbi-Redis.yaml,等待状态图标变成绿色的,说明Smartbi-Redis容器创建成功。
4.7 部署Zookeeper
可以参考 mysql部署章节 说明的方法导入Smartbi-Zookeeper.yaml,等待状态图标变成绿色的,说明Smartbi-Zookeeper容器创建成功。
5. 访问smartbi
使用浏览器打开http://服务器ip:31080/smartbi
四、系统运维
1. 更新license
上传license参考
https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=35750012
更新license后,参考 53936873 内容,重启smartbi-tomcat容器。
2. 更新产品包
更新Smartbi
在使用过程中,可能会遇到需要更新smartbi的情况,以下是更新war包的方法。
1、联系support获取smartbi的更新war包。
2、使用winscp工具登录Linux系统,找到<Smartbi>/smartbi_data/smartbi-tomcat/webapps;
如下图所示,进入对应的目录,找到smartbi和smartbi.war。
3、删除smartbi目录和smartbi.war;
如下图,选择对应文件,右键选择 删除 > 删除选择的文件。
4、上传新版本的war包;
如下图,使用winscp上传文件到Linux的<Smartbi>/smartbi_data/smartbi-tomcat/webapps目录下。
如下图,点击确定开始上传;
如下图,等待上传完成。
4、删除容器
在浏览器打开控制台页面 http://服务器ip:8088/
如下图所示,点击smartbi-tomcat服务,进入容器编排页面。
左键点击容器名右边的图标,选择 删除,然后系统会删掉当前的容器,并且立即启动一个新的容器。
6、等待新容器启动成功,就可以正常访问smartbi。
访问smartbi地址:http://服务器ip:31080/smartbi/vision/index.jsp
更新数据挖掘引擎
如果使用了数据挖掘服务,在更新war包时要同步更新数据挖掘引擎服务。
1、联系support获取更新版本的数据挖掘安装包。
2、使用winscp工具登录Linux系统,找到<Smartbi>/smartbi_data/smartbi-engine。
如下图所示,进入对应的目录,找到engine。
3、删除engine目录
如下图,选择engine目录文件,右键选择 删除 > 删除选中文件 。
4、解压缩数据挖掘引擎安装包
在windows电脑上,使用360压缩工具解压数据挖掘引擎安装包。
5、上传新版本的数据挖掘安装包
如下图,使用winscp上传engine目录文件到Linux的<Smartbi>/smartbi_data/smartbi-engine目录下。
如下图,点击确定开始上传。
如下图,等待上传完成。
6、重启smartbi-engine-service服务
在浏览器打开控制台页面 http://服务器ip:8088
如下图所示,点击smartbi-engine-service服务,进入容器编排页面。
左键点击容器名右边的图标,选择 删除,然后系统会删掉当前的容器,并且立即启动一个新的容器。
7、重启smartbi-engine-experiment服务
在浏览器打开控制台页面 http://服务器ip:8088
如下图所示,点击smartbi-engine-service服务,进入容器编排页面。
左键点击容器名右边的图标,选择删除,然后系统会删掉当前的容器,并且立即启动一个新的容器。
8、等待两个数据挖掘引擎的新容器启动成功,就可以正常使用数据挖掘功能了。
访问smartbi地址:http://服务器ip:31080/smartbi/vision/index.jsp,开始使用smartbi。
3. 重启应用
某些情况下可能会需要手工重启应用服务器。比如更新license的时候。我们以应用服务器为例,说明操作步骤。
1、在控制台页面,点击smartbi-tomcat进入容器编排页面;
2、删除容器;
如下图,点击删除按钮,删除容器,然后系统会自动获取当前最新配置,生成新的容器。
点击删除,删除容器。
3、系统自动更新容器;
如下图,removing的是刚刚删除的,running的是正在运行的新的容器。
4、服务更新完成,开始使用smartbi。
使用浏览器打开:http://服务器ip:31080/smartbi/vision/index.jsp
第一次登录smartbi:
默认管理员帐号是 admin
默认管理员密码:manager
4. 停止/启动服务
4.1 停止服务
#chmod+xstop.sh
#./stop.sh
4.2 启动服务
#chmod+xstartup.sh
#./startup.sh
5. 卸载rancher
当节点无法访问,可以通过以下命令卸载rancher和k8s集群。
#chmod+xuninstall.sh
#./uninstall.sh
脚本执行完毕,需要重启服务器清除网络接口信息。
五、附录
各个服务默认对外开放端口:
服务名 | 对内端口 | 对外端口 |
smartbi-tomcat | 18080 | 31080 |
smartbi-mysql | 3306 | 30306 |
smartbi-mpp | 8123,9000 | 31823 |
smartbi-infobright | 5029 | 30029 |
smartbi-unionserver | 48080 | 30808 |
smartbi-engine | 4040,8899,8900 | 31003 |
smartbi-spark | 7077,4040,8080 | 31002 |