Smartbi UnionServer是一个分布式SQL查询引擎,处在Smartbi的SQL引擎层,为不同的数据源提供统一的SQL解析、跨库查询能力。
1、系统环境准备
1.1集群系统环境
文档集群地址:
IP地址 | 主机名 | 角色 |
192.168.137.110 | 192-168-137-110 | Smartbi-UnionServer Coordinator节点 |
192.168.137.111 | 192-168-137-111 | Smartbi-UnionServer Worker节点 |
部署SmartbiUnionServer集群时,指定一台服务器为主节点(称为Coordinator),其余服务器为子节点(称为Worker)。建议每台服务器只部署Coordinator,或者只部署Worker,不要一台服务器安装多个节点。
Work节点可以横向扩展,部署方法相同。
1.2防火墙配置
所有集群内的主机均需进行防火墙配置。
为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用SmartbiUnionServer使用到的相关端口。
1.2.1关闭防火墙
临时关闭防火墙
systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld
查看防火墙状态
systemctl status firewalld
1.2.2开启防火墙
相关服务及端口对照表
服务名 | 开放端口 |
SmartbiUnionServer | 48080 |
如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启端口:48080
firewall-cmd --permanent --add-port=48080/tcp
配置完以后重新加载firewalld,使配置生效
firewall-cmd --reload
查看防火墙的配置信息
firewall-cmd --list-all
1.2.3关闭selinux
临时关闭selinux,立即生效,不需要重启服务器。
setenforce 0
永久关闭selinux,修改完配置后需要重启服务器才能生效
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
2、开始安装
2.1、Coordinator节点安装
上传SmartbiUnionServer.tar.gz到Coordinator节点服务器,并解压到/opt目录。
tar -zxvf SmartbiUnionServer.tar.gz -C /opt
2.1.1、修改配置文件
1)修改run.sh配置文件
通过修改启动文件可以设置JVM的最大内存、nodeID等参数。
cd /opt/SmartbiUnionServer vi run.sh
-Xmx参数,默认的最大内存值为8G,可根据服务器实际配置进行情况填写;
nodeID:集群中每个节点的nodeID是惟一的,不可重复,nodeID值为十六进制,可随意修改成其他十六进制数值(十六进制数值包含:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)。
修改完成后保存。
2)参数配置
参数配置文件放在/opt/SmartbiUnionServer/etc目录下,需要修改config.properties。
config.properties的基本配置信息如下:
coordinator=true node-scheduler.include-coordinator=true http-server.http.port=48080 query.max-memory=2GB query.max-memory-per-node=1GB discovery-server.enabled=true discovery.uri=http://Coordinator_IP:48080 #注意将Coordinator_IP替换成实际的Coordinator节点的IP地址
参数说明如下:
配置项 | 说明 |
http-server.http.port | 设置presto的端口,默认为48080,启动时如果端口冲突,需要修改。 |
query.max-memory | 设置单条查询语句最大使用内存,默认为2GB。 |
query.max-memory-per-node | 设置单条查询语句在每个节点上的最大使用内存,默认为1GB。 |
discovery.uri | 设置Smartbi UnionServer的url,默认为http://0.0.0.0:48080,部署集群时需要修改为http://Coordinator_IP:48080 48080表示端口,必须与http-server.http.port保持一致。 |
3)日志级别配置
日志级别配置文件放在/opt/SmartbiUnionServer/etc目录下log.propertes,默认日志级别为INFO。
com.facebook.presto=INFO
日志级别可以选择:DEBUG、INFO、WARN和ERROR,其中DEBUG的日志级别最高,输出的日志最多,ERROR的日志级别最低,输出的日志最少。
2.1.2、分发安装包到Worker节点
复制安装包到Worker节点下的/opt目录
scp -r /opt/SmartbiUnionServer root@192.168.137.111:/opt #根据实际环境复制安装包到work节点
如果有多个work节点,则将安装复制到所有的work节点。
2.2、work节点安装
进入work节点下的SmartbiUnionServer安装目录
cd /opt/SmartbiUnionServer
修改run.sh配置文件
vi run.sh
-Xmx参数,默认的最大内存值为8G,可根据服务器实际配置进行情况填写;
nodeID:集群中每个节点的nodeID是惟一的,不可重复,nodeID值为十六进制,可随意修改成其他十六进制数值(十六进制数值包含:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)。
修改完成后保存。
如果有多个work节点,work节点修改配置方法相同,注意nodeID不能重复。
4、运维操作
4.1、启动Smartbi-UnionServer
赋予启动脚本可执行权限
cd /opt/SmartbiUnionServer chmod +x run.sh
给jdk赋予可执行权限:
chmod +x -R jdk_linux/
启动SmartbiUnionServer服务有两种方式:
# 前端启动方式,日志信息直接打印在屏幕上,多用于调试 sh run.sh # 后台启动方式,启动日志存放在var/log/server.log nohup sh run.sh > /dev/null 2>&1 &
使用前端方式启动presto时,当看到屏幕打印信息:
======== SERVER STARTED ========,说明服务启动成功。
如果提示Address already in use,说明端口冲突了,需要修改/opt/SmartbiUnionServer/etc/config.properties里的端口,然后重启SmartbiUnionServer。
使用后台方式启动SmartbiUnionServer时,如果使用后台启动,可以使用ps -ef | grep SmartbiUnionServer查看SmartbiUnionServer进程是否存在,如果存在,则启动成功。如下图所示。
如果进程不存在,可以查看/opt/SmartbiUnionServer/var/log/server.log,查看报错信息。如果提示Address already in use,说明端口冲突了,需要修改/opt/SmartbiUnionServer/etc/config.properties里的端口,然后重启presto。
4.2、停止SmartbiUnionServer
通过命令:ps -ef | grep SmartbiUnionServer
查到SmartbiUnionserver的进程号:
然后使用kill -9 <进程号>命令杀掉SmartbiUnionserver进程。
4.3、设置开机启动
Linux部署SmartbiUnionServer开机启动设置方式:
Centos6.x
①赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)
chmod +x /opt/SmartbiUnionServer/run.sh
②在/etc/rc.d/rc.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出
vi /etc/rc.d/rc.local #添加以下启动命令 nohupsh /opt/SmartbiUnionServer/run.sh > /dev/null 2>&1 &
③设置完成。
Centos7.x
①赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)
chmod +x /opt/SmartbiUnionServer/run.sh
②在/etc/rc.d/rc.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出
vi /etc/rc.d/rc.local #添加以下启动命令 nohupsh /opt/SmartbiUnionServer/run.sh > /dev/null 2>&1 &
③在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local
④设置完成
Suse12
①赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)
chmod +x /opt/SmartbiUnionServer/run.sh
②在/etc/rc.d/after.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出
vi /etc/rc.d/after.local #添加以下启动命令 nohupsh /opt/SmartbiUnionServer/run.sh > /dev/null 2>&1 &
③给/etc/rc.d/after.local添加执行权限
chmod +x /etc/rc.d/after.local
④设置完成
5、日志文件
SmartbiUnionServer 的日志路径:<SmartbiUnionServer >/var/log/server.log。
如果出现启动失败时,可以通过分析日志来判断问题点。
6、版本更新
1)停止现有的SmartbiUnionServer服务:
# ps -ef| grep SmartbiUnionServer # kill -9 进程id
2)升级
备份原来的SmartbiUnionServer/plugin目录
# mv plugin pluin_back
复制第一步解压出来的SmartbiUnionServer/plugin到原来的目录文件
# cp -r <SmartbiUnionServer新版本>/plugin <SmartbiUnionServer旧版本>/plugin
复制SmartbiUnionServer/etc/queue_config.json 到etc目录
# cp -r <SmartbiUnionServer新版本>/etc/queue_config.json <SmartbiUnionServer旧版本>/etc/
复制SmartbiUnionServer/etc/resource-groups.properties 到etc目录
# cp -r <SmartbiUnionServer新版本>/etc/resource-groups.properties <SmartbiUnionServer旧版本>/etc/
3)启动
# nohup ./run.sh &
4)测试验证
使用smartbi连接跨库联合数据源验证。