页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。


目录

Smartbi UnionServer是一个分布式SQL查询引擎,处在Smartbi的SQL引擎层,为不同的数据源提供统一的SQL解析、跨库查询能力。

1、系统环境准备

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防火墙配置2 防火墙配置

注意

所有集群内的主机均需进行防火墙配置。

为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用SmartbiUnionServer使用到的相关端口。

1.2.

1关闭防火墙

1. 关闭防火墙

临时关闭防火墙临时关闭防火墙(立即生效)

代码块
linenumberstrue
systemctl stop firewalld

永久关闭防火墙永久关闭防火墙(重启后生效)

代码块
linenumberstrue
systemctl disable firewalld

查看防火墙状态

代码块
linenumberstrue
systemctl status firewalld

1.2.2.

2开启防火墙

开启防火墙

相关服务及端口对照表

服务名

开放端口

SmartbiUnionServer

48080


如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启端口:48080

代码块
linenumberstrue
firewall-cmd --permanent --add-port=48080/tcp

配置完以后重新加载firewalld,使配置生效

代码块
linenumberstrue
firewall-cmd --reload

查看防火墙的配置信息

代码块
linenumberstrue
firewall-cmd --list-all

1.2.3关闭selinux

临时关闭selinux,立即生效,不需要重启服务器。

代码块
linenumberstrue
setenforce 0

永久关闭selinux,修改完配置后需要重启服务器才能生效

代码块
linenumberstrue
sed -i 's/=enforcing/=disabled/g'  /etc/selinux/config

2、开始安装

2.

1、Coordinator节点安装

1. Coordinator节点安装

上传SmartbiUnionServer.tar.gz到Coordinator节点服务器,并解压到/opt目录。

代码块
linenumberstrue
tar -zxvf SmartbiUnionServer.tar.gz -C /opt
2.1.1、修改配置文件

1)修改run.sh配置文件

通过修改启动文件可以设置JVM的最大内存、nodeID等参数。

代码块
linenumberstrue
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)。

 ID格式(ffffffff-ffff-ffff-ffff-ffffffffffff)

Image Modified

修改完成后保存。

2)参数配置

参数配置文件放在/opt/SmartbiUnionServer/etc目录下,需要修改config.properties。

config.properties的基本配置信息如下:

代码块
linenumberstrue
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。

代码块
linenumberstrue
com.facebook.presto=INFO

日志级别可以选择:DEBUG、INFO、WARN和ERROR,其中DEBUG的日志级别最高,输出的日志最多,ERROR的日志级别最低,输出的日志最少。

2.

2、work节点安装

2. work节点安装

上传SmartbiUnionServer.tar.gz到work节点服务器,并解压到/opt目录。

代码块
linenumberstrue
tar -zxvf SmartbiUnionServer.tar.gz -C /opt

进入work节点下的SmartbiUnionServer安装目录

代码块
linenumberstrue
cd /opt/SmartbiUnionServer

1)参数配置文件放在/opt/SmartbiUnionServer/etc目录下,需要修改config.properties。

config.properties的基本配置信息如下:

代码块
linenumberstrue
coordinator=false                         #work节点coordinator的值需要改为false
node-scheduler.include-coordinator=true
http-server.http.port=48080
query.max-memory=2GB
query.max-memory-per-node=1GB
# discovery-server.enabled=true			  #work节点下需要注释掉discovery-server.enabled
discovery.uri=http://Coordinator_IP:48080  #注意将Coordinator_IP替换成实际的Coordinator节点的IP地址

2)修改run.sh配置文件

代码块
linenumberstrue
vi run.sh

-Xmx参数,默认的最大内存值为8G,可根据服务器实际配置进行情况填写;

nodeID:集群中每个节点的nodeID是惟一的,不可重复,nodeID值为十六进制,可随意修改成其他十六进制数值(十六进制数值包含:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)。

Image Modified

修改完成后保存。

注意

如果有多个work节点,work节点修改配置方法相同,注意nodeID不能重复。

4、运维操作

4.1、启动Smartbi

3. 运维操作

3.1. 启动Smartbi-UnionServer

注意

集群内所有节点SmartbiUnionServer的启动/停止/设置开机启动方法相同,并且需要在集群中的每个节点执行操作

赋予启动脚本可执行权限

代码块
linenumberstrue
cd /opt/SmartbiUnionServer
chmod +x run.sh

给jdk赋予可执行权限:

代码块
linenumberstrue
chmod +x -R jdk_linux/

启动SmartbiUnionServer服务有两种方式:

代码块
linenumberstrue
# 前端启动方式,日志信息直接打印在屏幕上,多用于调试
sh run.sh

# 后台启动方式,启动日志存放在var/log/server.log
nohup sh ./run.sh > /dev/null 2>&1 &

使用前端方式启动Smartbi UnionServer时,当看到屏幕打印信息:

 ======== SERVER STARTED ========,说明服务启动成功。

Image Modified

如果提示Address already in use,说明端口冲突了,需要修改/opt/SmartbiUnionServer/etc/config.properties里的端口,然后重启SmartbiUnionServer。

Image Modified

使用后台方式启动SmartbiUnionServer时,如果使用后台启动,可以使用ps -ef | grep SmartbiUnionServer查看SmartbiUnionServer进程是否存在,如果存在,则启动成功。如下图所示。

Image Modified

如果进程不存在,可以查看/opt/SmartbiUnionServer/var/log/server.log,查看报错信息。如果提示Address already in use,说明端口冲突了,需要修改/opt/SmartbiUnionServer/etc/config.properties里的端口,然后重启presto。

Image Modified

4.2、停止SmartbiUnionServer

测试验证

使用smartbi连接跨库联合数据源验证。

Image Added

3.2. 停止SmartbiUnionServer

通过命令:ps -ef | grep SmartbiUnionServer

查到SmartbiUnionserver的进程号:

Image Modified

然后使用kill -9 <进程号>命令杀掉SmartbiUnionserver进程。

4

3.3.

3、设置开机启动

设置开机启动

Linux部署SmartbiUnionServer开机启动设置方式:

3.3.1. 方法一

Centos6.x

①赋予脚本可执行权限(① 赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)

代码块
linenumberstrue
chmod +x /opt/SmartbiUnionServer/run.sh

②在② 在/etc/rc.d/rc.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出

代码块
linenumberstrue
vi /etc/rc.d/rc.local
#添加以下启动命令
nohupsh /opt/SmartbiUnionServer/run.sh > /dev/null 2>&1 &

Image Modified③设置完成。

③ 设置完成。


Centos7.x

①赋予脚本可执行权限(① 赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)

代码块
linenumberstrue
chmod +x /opt/SmartbiUnionServer/run.sh

②在② 在/etc/rc.d/rc.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出

代码块
linenumberstrue
vi /etc/rc.d/rc.local
#添加以下启动命令
nohupsh /opt/SmartbiUnionServer/run.sh > /dev/null 2>&1 &

Image Modified

③在centos7中,③ 在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权

代码块
linenumberstrue
chmod +x /etc/rc.d/rc.local

④设置完成④ 设置完成

Suse12

①赋予脚本可执行权限(① 赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)

代码块
linenumberstrue
chmod +x /opt/SmartbiUnionServer/run.sh

②在② 在/etc/rc.d/after.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出

代码块
linenumberstrue
vi /etc/rc.d/after.local
#添加以下启动命令
nohupsh /opt/SmartbiUnionServer/run.sh > /dev/null 2>&1 &

Image Modified

③给③ 给/etc/rc.d/after.local添加执行权限

代码块
linenumberstrue
chmod +x /etc/rc.d/after.local

④设置完成

5、日志文件

④ 设置完成

3.3.2 方法二

进入/etc/init.d目录,创建unionserver启动配置文件

代码块
linenumberstrue
vi /etc/init.d/unionserver

配置参考如下:

代码块
languagebash
linenumberstrue
#!/bin/bash
# chkconfig: 345 80 20
# description: start the unionserver deamon
#
# Source function library
. /etc/rc.d/init.d/functions

prog=unionserver
CATALANA_HOME=/home/smartbi/SmartbiUnionServer/  #注意替换成实际的smartbi unionserver路径
export CATALINA_HOME

case "$1" in
start)
    echo "Starting unionserver..."
    $CATALANA_HOME/run.sh &
    ;;

stop)
    echo "Stopping unionserver..."
    kill -9 $(ps -ef | grep SmartbiUnionServer | grep jdk_linux | awk '{print $2}')
    ;;

restart)
    echo "Stopping unionserver..."
    kill -9 $(ps -ef | grep SmartbiUnionServer | grep jdk_linux | awk '{print $2}')
    sleep 2
    echo
    echo "Starting unionserver..."
    $CATALANA_HOME/run.sh &
    ;;

*)
    echo "Usage: $prog {start|stop|restart}"
    ;;
esac
exit 0

设置开机启动

代码块
linenumberstrue
chmod +x /etc/init.d/unionserver    #添加执行权限
chkconfig unionserver on            #添加到开机启动
chkconfig --list                    #查看开机启动服务列表


4、日志文件

SmartbiUnionServer 的日志路径:<SmartbiUnionServer >/var/log/server.log。

如果出现启动失败时,可以通过分析日志来判断问题点。

6、版本更新

5、版本更新

注意

集群内所有节点均需执行更新操作集群内所有节点均需执行更新操作,确保集群内所有节点版本一致

1)停止现有的SmartbiUnionServer服务:

代码块
linenumberstrue
# ps -ef| grep SmartbiUnionServer
# kill -9 进程id

2)升级

备份原来的SmartbiUnionServer/plugin目录plugin目录和SmartbiUnionServer/lib目录

代码块
linenumberstrue
# mv plugin pluin_back
# mv lib lib_back

复制第一步解压出来的SmartbiUnionServer/plugin到原来的目录文件plugin和SmartbiUnionServer/lib到原来的目录文件

代码块
linenumberstrue
# cp -r <SmartbiUnionServer新版本>/plugin <SmartbiUnionServer旧版本>/plugin
# cp -r <SmartbiUnionServer新版本>/lib <SmartbiUnionServer旧版本>/lib

复制SmartbiUnionServer/etc/queue_config.json 到etc目录

代码块
linenumberstrue
# cp -r <SmartbiUnionServer新版本>/etc/queue_config.json <SmartbiUnionServer旧版本>/etc/

复制SmartbiUnionServer/etc/resource-groups.properties 到etc目录

代码块
linenumberstrue
# cp -r <SmartbiUnionServer新版本>/etc/resource-groups.properties <SmartbiUnionServer旧版本>/etc/

3)启动

代码块
linenumberstrue
# nohup ./run.sh & 

4)测试验证

使用smartbi连接跨库联合数据源验证。

Image Modified